如何使用Javascript从数组中删除数组?
我有一个数组如何使用Javascript从数组中删除数组?,javascript,Javascript,我有一个数组 var arr = [{"id":"1","name":"One"},{"id":"2","name":"Two"}] 我推到阵列上 arr.push(X) 但是如何通过name从该数组中删除例如{“id”:“1”,“name”:“One”}?在普通javascript中,您必须在数组中搜索每个对象中的名称匹配项,然后删除该对象: function removeFromArrayByName(arr, name) { for (var i = 0; i < arr
var arr = [{"id":"1","name":"One"},{"id":"2","name":"Two"}]
我推到阵列上
arr.push(X)
但是如何通过name从该数组中删除例如{“id”:“1”,“name”:“One”}?在普通javascript中,您必须在数组中搜索每个对象中的名称匹配项,然后删除该对象:
function removeFromArrayByName(arr, name) {
for (var i = 0; i < arr.length; i++) {
if (arr[i].name === name) {
arr.splice(i, 1);
return;
}
}
}
或者,您甚至可以在传递属性名称进行搜索时使其更通用:
function removeFromArrayByName(arr, prop, val) {
for (var i = arr.length - 1; i >= 0; i--) {
if (arr[i][prop] === val) {
arr.splice(i, 1);
}
}
}
在纯javascript中,您必须在数组中搜索每个对象中的名称匹配项,然后删除该对象:
function removeFromArrayByName(arr, name) {
for (var i = 0; i < arr.length; i++) {
if (arr[i].name === name) {
arr.splice(i, 1);
return;
}
}
}
或者,您甚至可以在传递属性名称进行搜索时使其更通用:
function removeFromArrayByName(arr, prop, val) {
for (var i = arr.length - 1; i >= 0; i--) {
if (arr[i][prop] === val) {
arr.splice(i, 1);
}
}
}
问题是普通js,但如果使用jquery,可以编写如下函数:
function removeByName(arr, key){
return $.grep(arr, function (n,i) {
return n.name != key;
});
}
在您的情况下,我将调用
removeByName(arr,'One')代码>问题是针对普通js,但如果使用jquery,可以编写如下函数:
function removeByName(arr, key){
return $.grep(arr, function (n,i) {
return n.name != key;
});
}
在您的情况下,我将调用removeByName(arr,'One')代码>可能重复的可能重复的