我有一个阵列
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","姓名"}此数组的名字?
在普通的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)
| 归档时间: |
|
| 查看次数: |
65 次 |
| 最近记录: |