0

我正在寻找将字符串数组的子字符串复制到新数组中而不创建引用。这让我很头疼,但这应该很简单。

我在一个循环中尝试过NewArray[n] = OldArray[n].substr(x,y).slice(0),但不起作用。(我需要做一个NewArray.sort()之后)。

举例来说,假设我得到了一个OldArray包含 2 个元素的元素:

['River', 'Lake']

我希望新数组由旧数组的前 2 个字符(子字符串)组成,这样:

['Ri', 'La']
4

2 回答 2

1

将字符串数组的子字符串复制到新数组中而不创建引用

字符串是 JavaScript 中的原始值,而不是对象。将旧的值分配给新数组时将没有引用,尤其是在使用substr. 与字符串一起使用时,slice(0)您使用的 是多余的,在您的情况下也不需要在数组上。

您的代码应该可以工作:

var oldArray = ["River", "Lake"];

var newArray = [];
for (var i=0; i<oldArray.length; i++)
   newArray[i] = oldArray[i].substr(0,2);

// newArray: ["Ri", "La"]
于 2012-07-11T19:47:28.197 回答
-1

这对我有用。谢谢@Bergi

const newArray = oldArray.map( str => str.substr(0,2) ); 
于 2020-10-29T08:26:04.300 回答