javascript - 两个代码之间的差异

标签 javascript syntax

嘿伙计们,我很抱歉这个标题,但我不知道如何解释我的问题。

我想知道为什么这两个代码(对我来说是同一件事)返回不同的结果:

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);

我想从第一个片段中获得相同的结果。

谢谢。

最佳答案

[].push 返回数组的新长度而不是修改后的数组

var x = [rules.map(function(rule){
  return rule.name;
})];

您可以创建包含该值的数组。

关于javascript - 两个代码之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37866754/

相关文章:

javascript - 动态交换 "ul li"

list - Lisp 递归归并排序与升序?

ruby - 如果 Ruby 的修饰符与其他语言不同

javascript - 为什么 papaparse 会生成不正确的子数组?将数据划分为 [0..99][100] 数组而不是 [0][1]...[100]

javascript - 如何在 Snap svg 中使用 Mina?

Javascript VArgs - 不理解具有未知输入的参数对象

javascript - 期望不正确的智能感知方法

python - 迁移存储字典文字的文本字段时出现 South 语法错误

validation - 错误 : Operator is not overloaded

syntax - CoffeeScript 中无缓冲的多行注释?