Error in Javascript multiple Array

Error in Javascript multiple Array

本文关键字:Array multiple Javascript in Error      更新时间:2023-09-26

为什么输出与我的代码数据不同?

$(document).ready(function() {
            var array = [];
            var innerArray = [];
            var innerDataArray= [];
            innerDataArray['a']="a";
            innerDataArray['b']="b";
            innerArray.push(innerDataArray);
            innerDataArray['a']="c";
            innerDataArray['b']="d";
            innerArray.push(innerDataArray);
            array = innerArray;
            console.info(array);
        });

数组中的数据是"c"、"d"、"c"answers"d"。

为什么输出与我的代码数据不同?

javascript中的数组作为引用传递,您可以对同一个innerDataArray数组进行两次修改。

只需这样做:

$(document).ready(function() {
    var array = [];
    var innerArray = [];
    innerArray.push({"a": "a", "b": "b"});
    innerArray.push({"a": "c", "b": "d"});
    array = innerArray;
    console.info(array);
});

或者更简单:

$(document).ready(function() {
    var array = [];
    array.push({"a": "a", "b": "b"});
    array.push({"a": "c", "b": "d"});
    console.info(array);
});

此外,正如@TJCrowder所说,如果在数组中设置非数字键,它会自动变成一个普通对象。