如何使用Javascript从数组中删除数组?

Raf*_*fff 1 javascript

我有一个阵列

var arr = [{"id":"1","name":"One"},{"id":"2","name":"Two"}]
Run Code Online (Sandbox Code Playgroud)

我推到阵列

arr.push(X)
Run Code Online (Sandbox Code Playgroud)

但是,我怎么能去除例如{"一","ID":"1","姓名"}此数组的名字

jfr*_*d00 5

在普通的javascript中,您必须搜索数组,在每个对象中查找名称匹配,然后删除该对象:

function removeFromArrayByName(arr, name) {
    for (var i = 0; i < arr.length; i++) {
        if (arr[i].name === name) {
             arr.splice(i, 1);
             return;
        }
    } 
}
Run Code Online (Sandbox Code Playgroud)

或者如果可能有多个匹配并且您想要删除所有匹配,则可以执行此操作(执行向后遍历并在找到匹配时不返回):

function removeFromArrayByName(arr, name) {
    for (var i = arr.length - 1; i >= 0; i--) {
        if (arr[i].name === name) {
             arr.splice(i, 1);
        }
    } 
}
Run Code Online (Sandbox Code Playgroud)

或者,您甚至可以在传递属性名称以进行搜索时使其更通用:

function removeFromArrayByName(arr, prop, val) {
    for (var i = arr.length - 1; i >= 0; i--) {
        if (arr[i][prop] === val) {
             arr.splice(i, 1);
        }
    } 
}
Run Code Online (Sandbox Code Playgroud)