2015-05-06 26 views
0

嗨,我是一个新手到Javascript。 我正在阅读一本书,我正在学习splice()方法。 这里是我的代码拼接方法不显示正确的结果

var fruits = ["oranges", "apples", "pears", "grapes"]; 
     var somefruits = fruits.splice(2, 1, "watermelons"); 

     for (var i = 0; i < somefruits.length; i++) { 
      document.write(somefruits[i] + '<br>'); 
     }; 

不知何故,结果只显示。有人可以让我为什么整个西瓜阵列不被取代。 谢谢。

+0

如果你想要“整个”数组,可能在'fruits'(在其中你用“西瓜”替换了“梨”)而不是在'somefruits'(它包含了被删除的项目)上循环? – Bergi

回答

2

拼接将替换原始数组并返回已被替换的值。 所以你的情况:

somefruits = fruits.splice(2, 1, "watermelons") 

somefruits将价值被替换,它是[“梨”] 和原水果的值被更新为:“橙子”,“苹果”,“西瓜”, “葡萄”]

+0

好的,但我们如何添加一个项目数组? –

+0

确定了它..谢谢。 –

+1

@MarcAndreJiacarrini嗨,为原始数组添加一个值,您只需将第二个参数设置为0,因此它不会取代任何内容。 – Surely