如何从数组中删除对象? 我希望从someArray中删除包含名称Kristian的对象。例如:
someArray = [{name:"Kristian", lines:"2,5,10"},
{name:"John", lines:"1,19,26,96"}];
我想实现:
someArray = [{name:"John", lines:"1,19,26,96"}];
如何从数组中删除对象? 我希望从someArray中删除包含名称Kristian的对象。例如:
someArray = [{name:"Kristian", lines:"2,5,10"},
{name:"John", lines:"1,19,26,96"}];
我想实现:
someArray = [{name:"John", lines:"1,19,26,96"}];
当前回答
这里有一个映射和拼接的例子
const arrayObject = [ {name: "name1", value: "value1"}, {name: "name2", value: "value2"}, {name: "name3", value: "value3"}, ]; let index = arrayObject.map((item) => item.name).indexOf("name1"); If(索引> -1){ arrayObject。拼接(指数(1); console.log(“结果”,arrayObject); }
输出
Result [
{
"name": "name2",
"value": "value2"
},
{
"name": "name3",
"value": "value3"
}
]
其他回答
在数组上使用splice函数。指定开始元素的位置和要删除的子序列的长度。
someArray.splice(pos, 1);
你所显示的“数组”是无效的JavaScript语法。花括号{}表示具有属性名/值对的对象,而方括号[]表示数组,就像这样:
someArray = [{name:"Kristian", lines:"2,5,10"}, {name:"John", lines:"1,19,26,96"}];
在这种情况下,您可以使用.splice()方法删除一个项。要删除第一项(索引0),如下所示:
someArray.splice(0,1);
// someArray = [{name:"John", lines:"1,19,26,96"}];
如果你不知道索引,但想通过数组搜索找到名称为“Kristian”的项来删除,你可以这样做:
for (var i =0; i < someArray.length; i++)
if (someArray[i].name === "Kristian") {
someArray.splice(i,1);
break;
}
编辑:我刚刚注意到你的问题被标记为“jQuery”,所以你可以尝试$.grep()方法:
someArray = $.grep(someArray,
function(o,i) { return o.name === "Kristian"; },
true);
这个怎么样?
$.each(someArray, function(i){
if(someArray[i].name === 'Kristian') {
someArray.splice(i,1);
return false;
}
});
我想答案是非常分支和复杂的。
可以使用下面的路径删除与现代JavaScript术语中给出的对象相匹配的数组对象。
coordinates = [
{ lat: 36.779098444109145, lng: 34.57202827508546 },
{ lat: 36.778754712956506, lng: 34.56898128564454 },
{ lat: 36.777414146732426, lng: 34.57179224069215 }
];
coordinate = { lat: 36.779098444109145, lng: 34.57202827508546 };
removeCoordinate(coordinate: Coordinate): Coordinate {
const found = this.coordinates.find((coordinate) => coordinate == coordinate);
if (found) {
this.coordinates.splice(found, 1);
}
return coordinate;
}
虽然这可能不适合这种情况,我发现前几天,如果你不需要改变数组的大小,你也可以使用delete关键字从数组中删除一个项目。
var myArray = [1,2,3];
delete myArray[1];
console.log(myArray[1]); //undefined
console.log(myArray.length); //3 - doesn't actually shrink the array down