繁体   English   中英

使用索引和值向现有对象添加元素

[英]Add element to existing object with index and value

我想迭代两个数组,从另一个数组中减去一个数组值,并将它们的特定差值添加到对象中。 所以我举例说:

var answer = [];
var boom = [1,2,3,4];
var other = [[1,2,3,4],
             [2,3,4,5],
             [6,7,8,9];

for(var i=0; i<other.length; i++) {
    for(var e=0; e<4; e++){
        answer[e] = boom[e] - other[i][e];
    }
}

这给了我一个输出:

Object {0: -5, 1: -5, 2: -5, 3: -5} 

在我正在寻找的other减去了最后一个数组的boom ,我认为我非常接近它是:

Object [{0: [ 0, 0, 0, 0]},
        {1: [-1,-1,-1,-1]},
        {2: [-5,-5,-5,-5]}];

您可以看到它会将第二个for循环的每次迭代的结果添加到对象answer 我怎么能做到这一点?

for(var i=0; i<other.length; i++) {
    answer[i] = [];
    for(var e=0; e<4; e++){
        answer[i][e] = boom[e] - other[i][e];
    }
}

您需要将answer初始化为对象而不是数组,还需要创建一个新的答案数组来表示other值中的值

var answer = {};
var boom = [1, 2, 3, 4];
var other = [
    [1, 2, 3, 4],
    [2, 3, 4, 5],
    [6, 7, 8, 9]
];

for (var i = 0; i < other.length; i++) {
    var temp = answer[i] = {};
    for (var e = 0; e < 4; e++) {
        temp[e] = boom[e] - other[i][e];
    }
}

演示: 小提琴

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM