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
循环更昂贵。