Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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_Arrays - Fatal编程技术网

Javascript 在索引处结束数组映射?

Javascript 在索引处结束数组映射?,javascript,arrays,Javascript,Arrays,是否可以只将数组映射到某个索引 例如,假设我有以下内容: var nums = [1, 2, 3, 4, 5]; 我想对数组中的数字求和,但只求第三个索引。是否可以将参数传递到Array.map()?或者这只可能使用for循环?只需使用即可 slice()方法将数组部分的浅层副本返回到从开始到结束(不包括结束)选择的新数组对象中。原始数组将不会被修改 nums.slice(0,3).map(//your code); 您可以使用slice()获取数组,直到指定索引 nums.slice(0,

是否可以只将数组映射到某个索引

例如,假设我有以下内容:

var nums = [1, 2, 3, 4, 5];
我想对数组中的数字求和,但只求第三个索引。是否可以将参数传递到
Array.map()?或者这只可能使用
for
循环?

只需使用即可

slice()方法将数组部分的浅层副本返回到从开始到结束(不包括结束)选择的新数组对象中。原始数组将不会被修改

nums.slice(0,3).map(//your code);
您可以使用
slice()
获取数组,直到指定索引

nums.slice(0,3).map();
根据定义,对数组中的每个元素调用map()。详见文档。因此,是的,您需要使用不同的解决方案,例如for循环。

您可以使用
slice()
函数,该函数将数组部分的浅层副本返回到从开始到结束(不包括结束)选择的新数组对象中。原始数组将不会被修改

nums.slice(0,3).map(//your code);
更多信息


为什么要使用map()求和?reduce()会更好对于像您的示例这样简单的东西,
nums[0]+nums[1]+nums[2]
将是我的选择。对于更复杂的函数和更大的数组(以及子数组),您可能希望使用简单的
For
循环来完成迭代,以避免复制和不必要的迭代。对不起,我的意思是reduce:(这被标记为forEach问题的重复,建议使用break()。但是,
VM1292:1未捕获的语法错误:如果在map中使用该语句,将出现非法中断语句。
。我正在投票重新打开。这是一种很好的继续方式,但应注意
.slice()
将创建一个新数组,并在请求的范围内将元素复制到该数组中。如果要解决的实际问题涉及一个较大的原始数组,并且实际范围也相当大,则这将比使用简单的
for
循环更昂贵。