在使用join()函数后,我无法弄清楚如何从数组中删除项目。
正如您将看到的,第一个array.splice()有效,但第二个没有...
var recordsArray1 = ['a','b','c','d','e','f'];
console.log(recordsArray1.length);
recordsArray1.splice('a', 1);
console.log(recordsArray1);
var recordsArray2 = ['g','h','i','j','k','l'].join('\n');
console.log(recordsArray2.length);
recordsArray2.splice('g', 1);
console.log(recordsArray2);
感谢您的帮助。
添
答案 0 :(得分:1)
Array.prototype.join(separator)
将数组转换为separator
分隔的字符串。如果要使用换行连接元素,请在执行任何其他数组操作后执行连接,例如切片。
答案 1 :(得分:0)
https://www.w3schools.com/jsref/jsref_join.asp
join将它从数组转换为字符串
答案 2 :(得分:0)
如果我理解你的需要,你可能想要映射元素并为每个元素添加换行符,而不是将数组连接到字符串。这应该做:
recordsArray2 = ['g','h','i','j','k','l']
recordsArray2.map((x) => x + "\n")

答案 3 :(得分:0)
首先,您使用splice
是不对的。你的意图似乎是“请,分别删除一个”,“请删除一个g”。但这不是拼接的工作方式。第一个参数是 index ,它的正确用法是.splice(0, 1)
(读取:从索引0开始删除一个元素)。
其次,join使用提供的序列将Array转换为字符串。因此,['g','h','i','j','k','l'].join('\n');
将g\nh\ni\n...
作为字符串生成,其中没有join
方法。所以,为了删除g,我建议在之后加入数组你删除g:var arr =['g','h','i','j','k','l']; arr.splice(0, 1); arr = arr.join('\n');
(或者毕竟不加入它,因为我认为这不是你想要的做)。另一种方法是在加入后去除G,例如var arr =['g','h','i','j','k','l'].join('\n').substr(2)
(将返回从第三个字符开始的字符串,因此删除g和以下\ n。)