将元素添加到数组的末尾

时间:2020-06-16 17:13:29

标签: javascript arrays algorithm indexof

我正在尝试解决jshero.net的挑战。

挑战在于:

编写一个函数add,将一个元素添加到数组的末尾。但是,仅当元素尚未在数组中时才应添加该元素。 add([1, 2], 3)应该返回[1, 2, 3],而add([1, 2], 2)应该返回[1, 2]

问题出在Array:indexOf()。有人知道如何解决吗?

1 个答案:

答案 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));