如何从该阵列中删除68?

时间:2019-01-24 10:43:19

标签: javascript arrays

我的代码旨在获取最少的元素并将其从数组中删除,然后返回修改后的数组。但是在这种情况下 我的代码应该从该数组中删除68

 //[568,333,153,68,359,130,308,323,169]

然后返回

//[568,333,153,359,130,308,323,169]

但从第一个元素中删除68(568)并返回

//[5,333,153,68,359,130,308,323,169]

请我需要有关如何解决此问题的帮助

这是我的代码

function remove(arr) {
  let least = Math.min(...arr);
  let strArr = arr.join(' ');
  let regex = new RegExp(least);
  let newArr = strArr.replace(regex, '').split(' ');
  return (newArr.filter((arr) => {
    if ((isNaN(arr) !== true) || arr !== undefined || arr !== ' ') {
      return arr;
    }
  }).map((arr) => parseInt(arr)));
}
remove([568, 333, 153, 68, 359, 130, 308, 323, 169]);

// Returns [5,333,153,68,359,130,308,323,169] instead of 
// [568,333,153,359,130,308,323,169]

3 个答案:

答案 0 :(得分:4)

您可以使用Filter

let values = [568,333,153,68,359,130,308,323,169];

let filtered = values.filter( item => item !== 68 );

console.log(filtered)

答案 1 :(得分:1)

只需使用数组过滤器,它将返回一个没有68的新数组

let x = [568, 333, 153, 68, 359, 130, 308, 323, 169];

let y = x.filter((item) => {
  return item !== 68

})

console.log(y)

答案 2 :(得分:1)

您可以使用拼接来删除最小值

function remove (arr) {
    let least = Math.min(...arr);
    let index = arr.indexOf(least);
    if (index > -1) {
      arr.splice(index, 1);
    }
    return arr;
}
console.log(remove([568,333,153,68,359,130,308,323,169]));