在Javascript中将字符串数组的子字符串复制到新数组中

时间:2012-07-11 19:37:10

标签: javascript arrays string sorting

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

我在循环中尝试了NewArray[n] = OldArray[n].substr(x,y).slice(0)并且无法正常工作。 (之后我需要做NewArray.sort()。)

为了举例,我说有一个OldArray有2个元素:

['River', 'Lake']

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

['Ri', 'La']

2 个答案:

答案 0 :(得分: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"]

答案 1 :(得分:-1)

这对我有用。谢谢@Bergi

theme = { ...themeA, extension: { ...themeB }};