js 遍历数组修改对象名
时间: 2023-07-05 15:36:25 浏览: 147
可以使用 `Array.prototype.map()` 方法遍历数组并修改对象的属性名,示例如下:
```javascript
const arr = [
{ name: 'Alice', age: 20 },
{ name: 'Bob', age: 25 },
{ name: 'Charlie', age: 30 }
];
const newArr = arr.map(obj => {
if (obj.name === 'Bob') {
return { newName: obj.name, age: obj.age }; // 将 Bob 的属性名修改为 newName
} else {
return obj;
}
});
console.log(newArr); // [{ name: 'Alice', age: 20 }, { newName: 'Bob', age: 25 }, { name: 'Charlie', age: 30 }]
```
在上述例子中,我们使用 `Array.prototype.map()` 方法遍历数组 `arr`,对于每个对象,如果名字是 Bob,就创建一个新的对象,并将 `name` 属性改为 `newName`,同时保留原来的 `age` 属性。否则返回原对象。最终得到新的数组 `newArr`,其中 Bob 的属性名已经被修改为 `newName`。
相关问题
js 遍历数组,修改数组中一个对象的属性"false"改为"ture"
在JavaScript中,遍历数组并修改其中某个对象的属性可以使用for循环、forEach方法或者map函数。这里以最常见的方式——for循环为例:
```javascript
let arr = [
{ name: 'John', isTrue: false },
{ name: 'Jane', isTrue: false },
// 更多对象...
];
// 使用for循环遍历数组
for(let i = 0; i < arr.length; i++) {
if(arr[i].isFalse) { // 注意这里是`isFalse`而不是`false`
arr[i].isTrue = true;
}
}
console.log(arr);
```
如果你确定所有对象都有名为`false`的属性,而不是`isFalse`,那么你需要先检查该属性是否存在再修改。另外,如果你在ES6及以上版本中使用,也可以考虑使用箭头函数和Array.prototype.map方法:
```javascript
arr = arr.map(obj => obj['false'] === false ? { ...obj, false: true } : obj);
console.log(arr);
```
js 遍历数组修改对象值
可以使用 `Array.prototype.map()` 方法遍历数组并修改对象的值,示例如下:
```javascript
const arr = [
{ name: 'Alice', age: 20 },
{ name: 'Bob', age: 25 },
{ name: 'Charlie', age: 30 }
];
const newArr = arr.map(obj => {
if (obj.name === 'Bob') {
return { ...obj, age: 26 }; // 修改 Bob 的年龄为 26
} else {
return obj;
}
});
console.log(newArr); // [{ name: 'Alice', age: 20 }, { name: 'Bob', age: 26 }, { name: 'Charlie', age: 30 }]
```
在上述例子中,我们使用 `Array.prototype.map()` 方法遍历数组 `arr`,对于每个对象,如果名字是 Bob,就使用对象解构语法和属性 spread 语法创建一个新的对象,并将年龄修改为 26,否则返回原对象。最终得到新的数组 `newArr`,其中 Bob 的年龄已经被修改为 26。
阅读全文
相关推荐
















