js 对象数组,根据对象属性,删除指定的某一条对象记录
时间: 2024-03-08 20:48:23 浏览: 13
可以使用 `Array.prototype.filter()` 方法过滤掉需要删除的对象,返回一个新数组。示例如下:
```javascript
const arr = [
{ id: 1, name: 'Alice' },
{ id: 2, name: 'Bob' },
{ id: 3, name: 'Charlie' },
{ id: 4, name: 'David' }
];
const idToDelete = 3;
const newArr = arr.filter(item => item.id !== idToDelete);
console.log(newArr);
// 输出: [{ id: 1, name: 'Alice' }, { id: 2, name: 'Bob' }, { id: 4, name: 'David' }]
```
在上面的代码中,我们定义了一个数组 `arr`,包含了四个对象。我们需要删除 `id` 属性为 `3` 的对象,于是我们使用了 `filter()` 方法,过滤掉 `id` 属性为 `3` 的对象,返回一个新数组 `newArr`。最后打印出 `newArr` 数组即可。
相关问题
根据对象数组中某一属性删除该项
您可以使用 JavaScript 的 filter() 方法来删除对象数组中的某一属性。例如,在以下代码中,我们要删除对象数组 items 中所有 age 属性为 18 的项:
```javascript
var items = [
{ name: 'John', age: 20 },
{ name: 'Mary', age: 18 },
{ name: 'Steve', age: 18 },
{ name: 'Jane', age: 22 }
];
items = items.filter(function(item) {
return item.age !== 18;
});
```
执行以上代码后,items 数组将只保留两项:
```
[
{ name: 'John', age: 20 },
{ name: 'Jane', age: 22 }
]
```
js对象数组按某一属性排序
好的,针对您的问题,可以使用数组的 sort() 方法配合自定义比较函数来进行排序。假设我们有如下的 js 对象数组:
```
let people = [
{ name: 'John', age: 32 },
{ name: 'Jane', age: 25 },
{ name: 'Bob', age: 42 }
];
```
如果我们想按照年龄从小到大排序,可以这样实现:
```
people.sort(function(a, b) {
return a.age - b.age;
});
```
如果我们想按照姓名字母顺序排序,可以这样实现:
```
people.sort(function(a, b) {
return a.name.localeCompare(b.name);
});
```
希望我的回答对您有所帮助。