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

时间:2012-08-07 19:28:25

标签: 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";

2 个答案:

答案 0 :(得分:0)

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

text.push({key: 4, value: "no"});

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

text.splice(1, 0, {key: 4, value: "no"});

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

text.splice(1, 0, {});
text[1].key = 4;
text[1].value = "no";

答案 1 :(得分:0)

以下是一些示例代码(您可以使用here进行操作):

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()方法采用以下参数(取自here):

array.splice(index,howmany,item1,.....,itemX)
  • index:一个整数,指定添加/删除项目的位置,使用负值指定数组末尾的位置。
  • howmany:要删除的项目数。如果设置为0,则不会删除任何项目。
  • itemN:要添加到数组中的新项目。

修改

要从数组中删除元素,您可以通过以下方式使用相同的splice函数:

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

我们在位置splice1指示删除1元素,但由于我们没有提供任何要插入的元素,因此不会插入任何元素,这会导致单个元素位于已删除职位1