Javascript 调用函数而不将其结果赋给变量
Javascript 调用函数而不将其结果赋给变量,javascript,Javascript,map函数看起来比for循环要好得多: var arr = ["Apple", "Orange"]; // map example arr.map(function(item){ eat(item); }); // for example for(var i=0; i<arr.length; i++){ eat(arr[i]); } var arr=[“苹果”、“橙色”]; //地图示例 arr.map(函数(项){eat(项);}); //比如说 对于(var i=0;i您正在
map
函数看起来比for
循环要好得多:
var arr = ["Apple", "Orange"];
// map example
arr.map(function(item){ eat(item); });
// for example
for(var i=0; i<arr.length; i++){
eat(arr[i]);
}
var arr=[“苹果”、“橙色”];
//地图示例
arr.map(函数(项){eat(项);});
//比如说
对于(var i=0;i您正在查找的.forEach()
)
你可能会发现浏览网页比提问更能积累此类信息。至少现在我希望这个答案能减轻你的痛苦
编辑-至于问题1,它不会伤害任何东西。.map()
函数将构建一个充满未定义的条目的数组。(我想。)
对于2,这也没问题。忽略函数的返回值从来都不是问题,至少在运行时是这样。您正在寻找.forEach()
你可能会发现浏览网页比提问更能积累此类信息。至少现在我希望这个答案能减轻你的痛苦
编辑-至于问题1,它不会伤害任何东西。.map()
函数将构建一个充满未定义的条目的数组。(我想。)
对于2,这也没关系。忽略函数的返回值从来都不是问题,至少在运行时是这样。您要查找的是函数的返回值
你要找的是那个
这是数组实例方法。这是数组实例方法
一个映射成为参数的函数应该有一个返回值,并将其减少为一个映射应该返回的数组
没有return语句的函数返回的值是未定义的。因此,如果传递的函数从未返回任何要映射的内容,它将创建一个长度等于原始数组的新数组,并且每个值都是未定义的
map返回一个数组。如果我不将它赋给变量,会发生什么,如我的示例中所示
数组仍在创建中,但创建后会立即丢弃,并很快进行垃圾收集。JS引擎可能会优化此行为
有没有像map这样的空函数
正如其他人所指出的,有一个Array.prototype.forEach
函数,它迭代数组(类似于map),但不创建新数组或以任何方式使用与其关联的回调结果
一个映射成为参数的函数应该有一个返回值,并将其减少为一个映射应该返回的数组
没有return语句的函数返回的值是未定义的。因此,如果传递的函数从未返回任何要映射的内容,它将创建一个长度等于原始数组的新数组,并且每个值都是未定义的
map返回一个数组。如果我不将它赋给变量,会发生什么,如我的示例中所示
数组仍在创建中,但创建后会立即丢弃,并很快进行垃圾收集。JS引擎可能会优化此行为
有没有像map这样的空函数
正如其他人所指出的,有一个Array.prototype.forEach
函数,它迭代数组(类似于map),但不创建新数组或以任何方式使用与其关联的回调结果
1.一个函数,哪个映射成为一个参数,它的返回值应该减少为一个数组,哪个映射应该返回。将viod函数传递给映射有什么影响,就像在我的示例中一样?
var numbers = [1, 4, 9];
var mapped = numbers.map(function(){
//do nothing
});
console.log(numbers);//[1, 4, 9]
console.log(mapped);//[undefined, undefined, undefined]
初始数组将保持不变,您将得到一个未定义数组的数组
2.map返回一个数组。如果我没有将它赋给变量,比如在
示例?
var numbers = [1, 4, 9];
var mapped = numbers.map(function(){
//do nothing
});
console.log(numbers);//[1, 4, 9]
console.log(mapped);//[undefined, undefined, undefined]
不会发生任何事情,您将丢失更改的阵列
3.有没有像map这样的空函数?
var numbers = [1, 4, 9];
var mapped = numbers.map(function(){
//do nothing
});
console.log(numbers);//[1, 4, 9]
console.log(mapped);//[undefined, undefined, undefined]
所有数组方法都不会修改引用数组,
乙二醇
但是Array.splice()、push、pop、shift、unshift等将改变1。一个函数,哪个映射作为一个参数,应该有一个返回值减少到一个映射应该返回的数组中。将viod函数传递给映射有什么影响,就像在我的示例中一样?
var numbers = [1, 4, 9];
var mapped = numbers.map(function(){
//do nothing
});
console.log(numbers);//[1, 4, 9]
console.log(mapped);//[undefined, undefined, undefined]
初始数组将保持不变,您将得到一个未定义数组的数组
2.map返回一个数组。如果我没有将它赋给变量,比如在
示例?
var numbers = [1, 4, 9];
var mapped = numbers.map(function(){
//do nothing
});
console.log(numbers);//[1, 4, 9]
console.log(mapped);//[undefined, undefined, undefined]
不会发生任何事情,您将丢失更改的阵列
3.有没有像map这样的空函数?
var numbers = [1, 4, 9];
var mapped = numbers.map(function(){
//do nothing
});
console.log(numbers);//[1, 4, 9]
console.log(mapped);//[undefined, undefined, undefined]
所有数组方法都不会修改引用数组,
乙二醇
但是Array.splice()、push、pop、shift、unshift等将发生变化该标题中发生了什么?“缓和”:)3。那个标题里发生了什么?“缓和”:)3。回答得很好。指向但是我找不到1的任何信息。2.@speechkey好的,我想我明白你的意思了;我会补充我的答案。3人的答案不错。指向但是我找不到1的任何信息。2.@speechkey好的,我想我明白你的意思了;我将添加到我的答案中。Array.prototype.slice
不会更改数组。更改阵列的唯一方法是splice
,push
,pop
,shift
,unshift
阵列.prototype.slice
不会更改阵列。更改阵列的唯一方法是splice
、push
、pop
、shift
、unshift
。