我有这个代码:
var array1 = {
"id": "car",
"name": "honda",
"virtues": [{
"price": 99
}, {
"size": 5
}, {
"condition": 8
}, {
"features": 3
}]
};
var array2 = {
'userid': '2',
'username': 'john',
'prefs': [{
"price": 1
}, {
"condition": 0
}]
};
calceffect = function(array) {
array.map(x => {
for (var key in x) {
if (key != 'size') {
array2.prefs.map(d => {
for (let k in d) {
if (k == key) {
if (d[k] == 0) {
d = x;
} else {
console.log(key + ' is already present');
}
} else {
array2.prefs.push(x);
}
}
});
}
}
});
}
calceffect(array1.virtues);
console.log(array2.prefs);
我得到这样的输出:
[{
price: 1
}, {
condition: 0
}, {
price: 99
}, {
condition: 8
}, [circular object Object], {
features: 3
}, [circular object Object], [circular object Object], [circular object Object], [circular object Object]]
直到今天我仍然无法理解圆形物体是什么,所以我不知道为什么要阻止这种情况发生。
有什么建议吗?
谢谢。