我正在尝试解决jshero.net的挑战。
挑战在于:
编写一个函数add,将一个元素添加到数组的末尾。但是,仅当元素尚未在数组中时才应添加该元素。
add([1, 2], 3)
应该返回[1, 2, 3]
,而add([1, 2], 2)
应该返回[1, 2]
。
问题出在Array:indexOf()。有人知道如何解决吗?
答案 0 :(得分:0)
您可以尝试使用Array.prototype.includes
检查数组中是否存在该数字
function add(arr, number) {
if (arr.includes(number)) return arr;
else return [...arr, number];
}
console.log(add([1,2], 3));
console.log(add([1,2], 2));
您也可以使用Array.prototype.indexOf
:
function add(arr, number) {
if (arr.indexOf(number) > -1) return arr;
else return [...arr, number];
}
console.log(add([1,2], 3));
console.log(add([1,2], 2));