我有一个要从其中删除项目的字符串索引数组。

考虑以下示例代码:

    var arr = new Array();
    arr[0] = "Zero";
    arr[1] = "One";
    arr[2] = "Two";
    arr.splice(1, 1);

    for (var index in arr)
        document.writeln(arr[index] + " ");

    //This will write: Zero Two

    var arr = new Array();
    arr["Zero"] = "Zero";
    arr["One"] = "One";
    arr["Two"] = "Two";

    arr.splice("One", 1); //This does not work
    arr.splice(1, 1); //Neither does this

    for (var index in arr)
        document.writeln(arr[index] + " ");

    //This will write: Zero One Two

我如何像在第一个示例中那样从第二个示例中删除“一个”?

最佳答案

执行此操作的正确方法不是使用数组,而是使用对象:

var x = {};
x['Zero'] = 'Zero';
x['One'] = 'One';
x['Two'] = 'Two';
console.log(x); //  Object Zero=Zero One=One Two=Two
delete x['One'];
console.log(x); //  Object Zero=Zero Two=Two

关于javascript - 在JavaScript中拼接字符串索引数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/948894/

10-12 07:34