我有一个字符串,其值是这样的 a,b,c,d
并想通过索引删除某个字母
所以我是这样做的 str.split(',').splice(1,1).toString()
而这是(显然)行不通的,因为 splice
返回的是被删除的值,而不是原始数组
有什么办法可以一字一句的做到以上几点吗?
var str = "a,b,c,d";
console.log(str.split(',').splice(1,1).toString());
先谢谢了。
你可以使用 filter
并加 condition
作为 index != 1
.
var str = "a,b,c,d";
console.log(str.split(',').filter((x, i) => i != 1).toString());
另一个奇怪的解决方案。重构数组,去掉不需要的索引,得到一个对象,然后加入其中的值。
var string = "a,b,c,d",
{ 1: _, ...temp } = string.split(',')
console.log(Object.values(temp).join(','));
这个 另辟蹊径 替换
var str = "a,b,c,d";
console.log(str.replace(/,\w+/, ''))
拼接工作到位,所以oneliner是。
const arr = "a,b,c,d".split(','); arr.splice(1,1); console.log(arr.toString());
如果你想在oneliner中加入一个字符串,你必须在过滤器中硬编码索引。
console.log("a,b,c,d".split(',').filter((item, i) => i != 1).toString())
或两片(完全没有表现力)。
const arr = "a,b,c,d".split(',')
console.log([...arr.slice(0,1),...arr.slice(2)].toString())