我希望将字符串数组的子字符串复制到新数组中而不创建引用。这让我很头疼,但这应该相当简单。
我在循环中尝试了NewArray[n] = OldArray[n].substr(x,y).slice(0)
并且无法正常工作。 (之后我需要做NewArray.sort()
。)
为了举例,我说有一个OldArray
有2个元素:
['River', 'Lake']
我希望新数组由旧数组的前2个字符(子字符串)构成,以便:
['Ri', 'La']
答案 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 }};