在javascript的對(duì)象數(shù)組中,如何通過(guò)屬性刪除指定的對(duì)象呢?其中用到的js方法為indexOf(),splice()方法。
indexOf() 方法可返回?cái)?shù)組中某個(gè)指定的元素位置,如果找到一個(gè) item,則返回 item 的第一次出現(xiàn)的位置。開(kāi)始位置的索引為 0。
如果在數(shù)組中沒(méi)找到指定元素則返回 -1。
splice() 方法用于添加或刪除數(shù)組中的元素。注意:這種方法會(huì)改變?cè)紨?shù)組。
返回值
如果僅刪除一個(gè)元素,則返回一個(gè)元素的數(shù)組。 如果未刪除任何元素,則返回空數(shù)組。
splice(1,1),第一個(gè)參數(shù)從何處開(kāi)始刪除(從索引0開(kāi)始),第二個(gè)參數(shù)是刪除的個(gè)數(shù)。
語(yǔ)法:
array.splice(index,howmany,item1,.....,itemX)
index 必需。規(guī)定從何處添加/刪除元素。
該參數(shù)是開(kāi)始插入和(或)刪除的數(shù)組元素的下標(biāo),必須是數(shù)字。
howmany 可選。規(guī)定應(yīng)該刪除多少元素。必須是數(shù)字,但可以是 "0"。
如果未規(guī)定此參數(shù),則刪除從 index 開(kāi)始到原數(shù)組結(jié)尾的所有元素。
item1, ..., itemX 可選。要添加到數(shù)組的新元素
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>在對(duì)象數(shù)組中,刪除指定的數(shù)組對(duì)象</title>
</head>
<body>
<script>
var a = [{ name: "zain", age: 28 }, { name: "jack", age: 29 }, { name: "sank", age: 30 },{name:"solid",age:31}];
function test() {
a.forEach(element => {
if (element.name == "solid") {
if (a.indexOf(element) > -1) {
var i = a.indexOf(element);
a.splice(i, 1);
}
}
});
}
test();
console.log(a);
</script>
</body>
</html>