gpt4 book ai didi

javascript - 使数组成为一个将给定值添加到数组中的数字的函数

转载 作者:行者123 更新时间:2023-11-28 17:47:19 24 4
gpt4 key购买 nike

所以我遇到的问题是编写一个函数,该函数将接受给定的数组,向其中添加给定的数字,然后输出一个新数组,将给定的数字添加到数组中的每个元素。所以给定的数组 = [1, 2 , 3, 4, 5] ... function add(5) .... new_array (或者可能更改旧数组) = [6, 7, 8, 9, 10] .

问题是:

// write code so that console logs print out true
// add(addValue) should return a new arrays where addValue
// is added to each value of original array
// i.e. [6, 7, 8, 9, 10] >

var e = [1, 2, 3, 4, 5];
console.log(e.add(5) == '[6,7,8,9,10]');

这给了我结果,但这不是问题

var e = [1, 2, 3, 4, 5];
var addValue = (e, Val) => e.map(add=>add+Val);

console.log(addValue(e,5));

最佳答案

编写一个函数,它接受要相加的整数,并返回一个新函数,当您向它传递一个数组时,该函数将执行加法计算:

function add(n) {
return function (arr) {
return arr.map(function (el) {
return n + el;
});
}
}

const add5 = add(5);
add5([1, 2, 3, 4, 5]); // [6, 7, 8, 9, 10]

<强> DEMO

您甚至不需要创建一个新变量来保存返回的函数:

add(5)([1, 2, 3, 4, 5]);

在 ES6 单行代码中:

const add = (n) => (arr) => arr.map(el => n + el);

<强> DEMO

如果您确实想将其添加到 Array.prototype 中(请确保检查您提议的新方法是否已存在于原型(prototype)上):

if (!(Array.prototype.add)) {
Array.prototype.add = function (n) {
return this.map(function (el) {
return n + el;
});
}
}

[1, 2, 3, 4, 5].add(5); // [6, 7, 8, 9, 10]

<强> DEMO

关于javascript - 使数组成为一个将给定值添加到数组中的数字的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46381944/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com