JavaScript 如何获取给定数组的已移除元素直到传递的函数返回true

JavaScript 如何获取给定数组的已移除元素直到传递的函数返回true

JavaScript中的数组有许多方法,可以使许多操作变得容易。

在本文中,让我们看看在传递的函数返回某个值之前,不同的方法如何获取已移除的元素。让我们取一个排序好的数组,任务是移除所有小于传递给函数的限制值的元素,我们需要打印出所有已移除的元素。

以下是通过哪些方法获取给定数组的已移除元素:

  • 使用 for()循环
  • 使用 slice()方法
  • 使用另一个数组
  • 使用 array.filter()方法

方法1:使用for()循环

在这个方法中,我们将使用for循环来获取已移除的元素。我们可以应用比较函数,并在条件为true时获取已移除的值。

示例:

let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
let removeArr = [];
for (let i = 0; i < arr.length; i++) {
    if (arr[i] < 6) {
        removeArr.push(arr.shift());
    } else {
        break;
    }
}
console.log(removeArr);

输出

[ 1, 2, 3 ]

方法2:使用slice()方法

在一个函数中,如果有多个return语句,只有第一个return语句会被执行,函数会被完成。

示例: 在这个示例中,我们将使用slice()方法来获取给定数组中的移除元素,直到传递的函数返回true为止。

let array = [1, 2, 2, 3, 4, 5, 6, 6, 7, 8, 8, 8];
 
// Removing elements less than 5 and returning them 
 
let limiter = 5;
 
// function which slices the array taking limiter as parameter
let retrieveRemoved = function (array, limiter) {
    let i;
    for (i = 0; i < array.length; i++) {
        // If the number value is greater or equal than limiter
        if (array[i] >= limiter) {
 
            // It takes the array from 0th 
            // index to i, excluding it
            return array.slice(0, i);
        }
    }
 
    return array.slice(i);
}
let removed = retrieveRemoved(array, limiter);
console.log("The removed elements: " + removed);

输出

The removed elements: 1,2,2,3,4

方法3:使用另一个数组

可以使用另一个数组来检查条件。如果条件不满足,这些元素将被移除。我们将所有不满足条件的元素推入另一个数组,并返回结果数组。

示例: 在此示例中,我们将使用另一个数组来获取给定数组中的已移除元素,直到传递的函数在JavaScript中返回true。

let array = [1, 2, 2, 3, 4, 5, 6, 6, 7, 8, 8, 8];
 
// Removing elements less than 5 and returning them
let limiter = 5;
 
let retrieveRemoved = function (array, limiter) {
    let i, s;
    let res = [];
    for (i = 0; i < array.length; i++) {
        if (array[i] < limiter) {
 
            // Push() method is used to 
            // values into the res[].        
            res.push(array[i]);
        }
        else {
            s = i;
            break;
        }
    }
    return res;
 
    return array.slice(i);
}
let removed = retrieveRemoved(array, limiter);
console.log("The removed elements are: " + removed);

输出

The removed elements are: 1,2,2,3,4

方法4:使用array.filter()方法

JavaScript 数组过滤器 方法用于从给定的数组中创建一个新的数组,该新数组仅包含满足参数方法设置的条件的元素。

示例:

let array = [1, 2, 2, 3, 4, 5, 6, 6, 7, 8, 8, 8];
let limiter = 5;
function retrieveRemoved(ele) {
    return ele < limiter;
}
let removed = 
    array.filter(retrieveRemoved);
console.log("The removed elements are: " + removed);

输出

The removed elements are: 1,2,2,3,4

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程