嘿伙计们,我很抱歉这个头衔,但我无法思考如何解释我的问题。
我想知道为什么这两个代码(对我而言是相同的),返回不同的结果:
var name = 'NAME';
var rules = [
{ name: 'NAME_RULES' }
];
var x = [].push(rules.map(function(rule){
return rule.name;
}));
document.body.innerHTML = x;

和
var name = 'NAME';
var rules = [
{ name: 'NAME_RULES' }
];
var x = [];
y = rules.map(function(rule){
return rule.name;
});
x.push(y);
console.log(x);

我希望从第一个snnipet获得相同的结果。
感谢。
答案 0 :(得分:3)
[].push
返回数组的新长度而不是修改后的数组
var x = [rules.map(function(rule){
return rule.name;
})];
您可以在其中创建包含该值的数组。