Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在关联数组的特定位置内添加元素_Javascript_Associative Array - Fatal编程技术网

Javascript 在关联数组的特定位置内添加元素

Javascript 在关联数组的特定位置内添加元素,javascript,associative-array,Javascript,Associative Array,我很好奇如何使用javascript将元素添加到关联数组中 var text=[{"key":"1", "value":"no"},{"key":"2", "value":"yes"} ]; 如果我想在上面的数组中添加一个元素。。。比如说第二个位置 text[1].key="4"; text[1].value="test"; 我试过这样做 test.splice(parseInt(1), 0 ); test[1].type="4"; test[1].value="test"; 要将元素添加

我很好奇如何使用javascript将元素添加到关联数组中

var text=[{"key":"1", "value":"no"},{"key":"2", "value":"yes"} ];
如果我想在上面的数组中添加一个元素。。。比如说第二个位置

text[1].key="4";
text[1].value="test";
我试过这样做

test.splice(parseInt(1), 0 );
test[1].type="4";
test[1].value="test";

要将元素添加到数组的末尾,可以使用
.push()

要在数组中的
[0]
[1]
项之间插入项,可以使用
.splice()

或者,插入一个空对象,然后填充它:

text.splice(1, 0, {});
text[1].key = 4;
text[1].value = "no";
下面是一些示例代码(您可以使用这些代码进行操作):

  • 索引
    :一个整数,指定添加/删除项目的位置,使用负值指定从数组末尾开始的位置
  • howmany
    :要删除的项目数。如果设置为0,则不会删除任何项目
  • itemN
    :要添加到数组中的新项

编辑

要从阵列中删除图元,可以按以下方式使用相同的
splice
功能:

array.splice(1, 1);
alert(toString(array));

在这里,我们指示在位置
1
处拼接
,删除
1
元素,但由于我们没有提供任何要插入的元素,因此没有插入任何元素,这导致位置
1
处的单个元素被删除。

您所说的“向第二个位置添加键”是什么意思?您的意思是要插入到数组中吗?在任何情况下,都需要提供要拼接到阵列中的内容。将整数解析为整数是多余的。但这不会将元素添加到第二个位置…我想将元素添加到特定位置。@SamDaSilva-您对术语“第二个位置”留下了一些混淆,因为
[2]
将是数组的结尾。无论如何,我已经在我的答案中添加了另一个选项,可以在数组的中间插入一个项目。只需编辑答案就可以显示删除了一个元素(还更新了JSFIDLE示例)。希望有帮助!
text.splice(1, 0, {});
text[1].key = 4;
text[1].value = "no";
function toString(array) {
    var output = '';
    for(i = 0; i < array.length; i++) {
        if(output != '')
            output += ' - ';
        output += array[i].key;
    }
    return output;
}

var array = [{"key":"1", "value":"no"},{"key":"2", "value":"yes"} ];

test = {"key":"4", "value":"test"};

alert(toString(array));
array.splice(1, 0, test);
alert(toString(array));
array.splice(index,howmany,item1,.....,itemX)
array.splice(1, 1);
alert(toString(array));