Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在.join()之后使用array.splice()?_Javascript_Arrays_Array Splice - Fatal编程技术网

Javascript 如何在.join()之后使用array.splice()?

Javascript 如何在.join()之后使用array.splice()?,javascript,arrays,array-splice,Javascript,Arrays,Array Splice,在使用join()函数后,我很难理解如何从数组中删除项 正如您将看到的,第一个array.splice()可以工作,但第二个不能 var-recordsArray1=['a','b','c','d','e','f']; console.log(recordsArray1.length); 记录RAY1.拼接('a',1); console.log(recordsArray1); var recordsArray2=['g'、'h'、'i'、'j'、'k'、'l'].join('\n'); co

在使用join()函数后,我很难理解如何从数组中删除项

正如您将看到的,第一个array.splice()可以工作,但第二个不能

var-recordsArray1=['a','b','c','d','e','f'];
console.log(recordsArray1.length);
记录RAY1.拼接('a',1);
console.log(recordsArray1);
var recordsArray2=['g'、'h'、'i'、'j'、'k'、'l'].join('\n');
console.log(recordsArray2.length);
记录RAY2.拼接('g',1);
控制台日志(recordsArray2)


join将其从数组转换为字符串

将数组转换为由
分隔符
分隔的字符串。如果要使用换行符连接元素,请在任何其他数组操作(如切片)后执行连接。

如果我正确理解您的需要,您可能希望映射元素并向每个元素添加换行符,而不是将数组连接到字符串。这应该做到:

recordsArray2=['g','h','i','j','k','l']

recordsArray2.map((x)=>x+“\n”)
首先,您对
拼接的使用不正确。你的意图似乎是“请,只删除一个a”,分别是“请删除一个g”。但这不是拼接的工作原理。第一个参数是要开始的索引,正确的用法是
.splice(0,1)
(读取:从索引0开始删除一个元素)


其次,join使用提供的序列将数组转换为字符串。所以,
['g','h','i','j','k','l'].join('\n')
g\nh\ni\n..
作为字符串生成,该字符串没有
join
方法。因此,要删除g,我建议在删除g之后加入数组:
var arr=['g','h','I','j','k','l'];阵列拼接(0,1);arr=arr.join('\n')(或者不要加入它,因为我认为这不是你想要做的)。另一种方法是在连接后删除G,例如,
var arr=['G'、'h'、'i'、'j'、'k'、'l'].join('\n').substr(2)
(它将返回从第三个字符开始的字符串,因此G和下面的\n将被删除)。

我如何先创建数组项的(垂直)列表,然后再删除项?如果您想,您可以将“\n”附加到每个项目,然后对其进行筛选。这可以通过类似list.map(item=>item+“\n”)的方法来实现。不过,事实上并不存在“数组项的垂直列表”。数组项只是数组中内存中的项。我认为你混淆了数组的表示和数组本身。好吧,你是对的。所以…在考虑数组中数据的可视化表示时,我想获取数据并将其显示在垂直列表中(无逗号等)。然后,我想通过一个函数从数组中删除数据,并用新数据重新绘制列表。最简单的方法就是创建一个项目列表,然后使用jQuery删除列表项目。但我更愿意把它看作是“数据”,而不是列表中的任意项。对。那么,我如何从字符串中删除项目呢?当然,最好的方法是通过for循环生成可视化表示,在那里应用所有格式。
splice
使用不正确。第一个参数应该是开始操作的索引。你在里面放了一个角色。