Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 两种代码之间的差异_Javascript_Syntax - Fatal编程技术网

Javascript 两种代码之间的差异

Javascript 两种代码之间的差异,javascript,syntax,Javascript,Syntax,嗨,伙计们,我为这个标题感到抱歉,但我想不出如何解释我的问题 我想知道为什么这两个代码(对我来说是一样的)返回不同的结果: var name='name'; 风险值规则=[ {name:'name_RULES'} ]; var x=[].push(rules.map)(函数(rule){ 返回规则.name; })); document.body.innerHTML=x[].push返回数组的新长度,而不是修改后的数组 var x = [rules.map(function(rule){

嗨,伙计们,我为这个标题感到抱歉,但我想不出如何解释我的问题

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

var name='name';
风险值规则=[
{name:'name_RULES'}
];
var x=[].push(rules.map)(函数(rule){
返回规则.name;
}));

document.body.innerHTML=x
[].push
返回数组的新长度,而不是修改后的数组

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

您只需创建包含该值的数组。

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

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

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

为什么不使用第二部分?
[]。push
只修改数组,而不返回
push
的itCheck文档,您将看到它没有返回值。
push()
返回数组的长度(推后),而不是数组本身。数组被修改到位。
varx=[rules.map(r=>r.name)]
是一样的为什么不使用第二部分?
[]push
只修改数组,而不返回
push
的itCheck文档,您会看到它没有返回值。
push()
返回数组的长度(推后),而不是数组本身。数组被修改到位。
varx=[rules.map(r=>r.name)]是相同的