我有一个数组,里面有对象,这些对象里面有元素。我将如何通过元素之一解决这些对象之一?
<table *ngFor="let table of specs.specs" class="table">
<thead class="head">
<tr>
<th>
{{ table.title }}
</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let detals of table.specs">
<td>
{{ detals.key }}
</td>
<td>
{{ detals.value }}
</td>
</tr>
</tbody>
</table>
结果:
let randomARR = [];
let a = {"name": "John", "age": 20, "PlaceOfBirth": "Germany"};
let b = {"name": "Simon", "age": 20, "PlaceOfBirth": "France"};
let c = {"name": "Michael", "age": 20, "PlaceOfBirth": "USA"};
randomARR.push(a);
randomARR.push(b);
randomARR.push(c);
假设我想通过对象的元素“ name” 而不是它在数组中的位置来寻址对象b(名称:Simon),将其从数组中删除。
答案 0 :(得分:2)
filter()方法创建一个新数组,该数组包含所有通过提供的功能实现的测试的元素。
它遍历数组的所有元素,并根据布尔返回值将其从结果数组中保留/删除。您可以将其设置为当前数组以覆盖它。
let objArr = [{"name": "John", "age": 20, "PlaceOfBirth": "Germany"}, {"name": "Simon", "age": 20, "PlaceOfBirth": "France"}, {"name": "Michael", "age": 20, "PlaceOfBirth": "USA"}]
let newObj = objArr.filter(obj => obj.name !== "Simon");
// objArr = objArr.filter(obj => obj.name !== "Simon"); to overwrite
答案 1 :(得分:0)
randomARR = randomARR.filter(o => o.name != 'Simon') ;
这是我认为要走的路。