在没有拼接功能的情况下从数组中删除项目

时间:2017-03-28 09:08:43

标签: javascript arrays

我有一个包含3行的数组,让我们说:

Fruits = ["Appple", "Banana", "Mango"]

我想用“Pear”更改[1] nd条目,结果应为:

["Apple, "Pear", "Mango"]

我在代码中首先做的是用splice删除[1],然后在值[1]中添加“Pear”,但问题是'拼接'“Banana”时,“Mango”占据了它的位置之后,“梨”覆盖了“香蕉”。 所以最终的结果是:

["Apple", "Pear"]

而不是

["Apple", "Pear", "Mango"]

为了解决这个问题,我做了Fruits[1] = 0;,但我不知道这是否是一种清除阵列的“安全”方式? (幸运的是)数组中的值比我的示例更复杂,某些值(在特定行中)被更改/更新,所以我更喜欢“清除”它们而不是仅覆盖它。

4 个答案:

答案 0 :(得分:1)

您可以通过简单的方式执行此操作:

var fruits = ["Appple", "Banana", "Mango"];
fruits[1]="Peer";
console.log(fruits);

或使用splice方法。

  

splice()方法在数组中添加/删除项目。

这是语法: array.splice(index,howmany,item1,.....,itemX)

  • 索引 - >一个整数,指定添加/删除项目的位置(必需)。
  • howmany - >要删除的项目数。如果设置为0,则不会删除任何项目。(可选
  • item1,...,itemX - >要添加到阵列中的新项目(可选

var fruits = ["Appple", "Banana", "Mango"];
fruits.splice(1,1,"Peer"); //remove "Banana" item and add "Peer" item
console.log(fruits);
如果您有array objects

var fruits = [["Appple","red","20g",4],["Banana","yellow","10g",3], ["Mango","green","123g",5]];
fruits.splice(1,1,["Pear", "green", "50gr", 4]);
console.log(fruits);

或者简单地说:

fruits[1]=["Pear", "green", "50gr", 4];

答案 1 :(得分:0)

Splice有一种删除和添加新元素的方法。这个脚本可以做你想要的:

var fruits = ["Appple", "Banana", "Mango"];
fruits.splice(1, 1, 'Pear');
console.log(fruits);

在这里,你说的是在索引1拼接1个项目并在该索引中推送“Pear”。

答案 2 :(得分:0)

如果你想只替换数组的值,那么值是apple(并且你不知道哪个索引)只是使用这样的东西:

domain.com/index.php?job=wiad&idg=3&id=42&x=20&n_id=8

答案 3 :(得分:0)

您可以尝试以下代码,这将删除" Banana"在不使用拼接方法的数组中,



var fruits = ["Appple", "Banana", "Mango"];
fruits[1]="";
console.log(fruits);