js 将一个数组对象中对象的两个属性循环出来 ,将这两个属性新成为一个对象。再将对象添加到一个新数组中
时间: 2024-02-17 07:05:05 浏览: 74
假设有如下数组对象:
```javascript
const arr = [
{name: 'Tom', age: 20},
{name: 'Jerry', age: 18},
{name: 'Lucy', age: 25}
];
```
我们可以使用map方法遍历每个对象,将name和age属性新建为一个对象,最后将这些新对象添加到一个新数组中。代码如下:
```javascript
const newArr = arr.map((obj) => {
return {name: obj.name, age: obj.age};
});
console.log(newArr);
```
输出结果为:
```
[
{name: 'Tom', age: 20},
{name: 'Jerry', age: 18},
{name: 'Lucy', age: 25}
]
```
如果你希望在原数组上修改,可以使用forEach方法代替map方法。代码如下:
```javascript
const newArr = [];
arr.forEach((obj) => {
newArr.push({name: obj.name, age: obj.age});
});
console.log(newArr);
```
输出结果为:
```
[
{name: 'Tom', age: 20},
{name: 'Jerry', age: 18},
{name: 'Lucy', age: 25}
]
```
相关问题
有两个数组,使用js根据这两个数组里面的对象属性名称name的值来判断是否相同,当属性值相同,就把这两个对象合并成一个新对象,再组成一个新的数组
在JavaScript中,你可以通过循环遍历两个数组并检查每个对象的`name`属性来完成这个任务。以下是实现此功能的一个示例:
```javascript
function mergeObjectsBySameName(arr1, arr2) {
// 创建一个新数组用于存放合并后的对象
let mergedArray = [];
// 遍历第一个数组
for (let obj1 of arr1) {
// 遍历第二个数组
for (let obj2 of arr2) {
// 如果对象的name属性相等
if (obj1.name === obj2.name) {
// 合并两个对象,如果某个属性已经在结果对象中,则保留原值
let newObj = { ...obj1 };
for (let key in obj2) {
if (!newObj.hasOwnProperty(key)) {
newObj[key] = obj2[key];
}
}
// 将合并后的对象添加到结果数组
mergedArray.push(newObj);
// 从arr2移除已合并的对象,避免重复添加
arr2.splice(arr2.indexOf(obj2), 1);
break; // 找到匹配就跳出内层循环
}
}
}
return mergedArray;
}
// 示例
let array1 = [
{ name: 'John', age: 25 },
{ name: 'Jane', gender: 'female' },
];
let array2 = [
{ name: 'John', hobby: 'gaming' },
{ name: 'Jane', occupation: 'teacher' },
];
let result = mergeObjectsBySameName(array1, array2);
console.log(result); // 结果:[{ name: 'John', age: 25, hobby: 'gaming' }, { name: 'Jane', gender: 'female', occupation: 'teacher' }]
js 不循环添加数组对象
你可以使用数组的 `push` 方法来往数组中添加对象,而不需要使用循环。以下是一个示例:
```javascript
var arr = []; // 创建一个空数组
// 创建一个对象
var obj1 = { name: "Alice", age: 25 };
var obj2 = { name: "Bob", age: 30 };
// 添加对象到数组中
arr.push(obj1);
arr.push(obj2);
console.log(arr); // 输出: [{ name: "Alice", age: 25 }, { name: "Bob", age: 30 }]
```
在上述示例中,我们首先创建了一个空数组 `arr`,然后创建了两个对象 `obj1` 和 `obj2`。通过调用数组的 `push` 方法,我们将这两个对象添加到了数组中。最后,使用 `console.log` 输出数组的内容。
使用 `push` 方法可以方便地向数组中添加对象,而无需手动进行循环。
阅读全文