将一个数组里面的某两个字段拼接到一起放到一个新的数组
时间: 2023-08-05 09:03:37 浏览: 41
假设你有一个数组 `arr`,其中包含若干个对象,每个对象都包含两个字段 `field1` 和 `field2`,你想将这两个字段拼接到一起,然后将结果放到一个新的数组 `newArr` 中。这个操作可以使用 JavaScript 中的 `map` 方法来实现,代码如下:
```javascript
const arr = [
{ field1: "hello", field2: "world" },
{ field1: "foo", field2: "bar" },
];
const newArr = arr.map((item) => {
return item.field1 + item.field2;
});
console.log(newArr);
// output: ["helloworld", "foobar"]
```
这里使用了 `map` 方法遍历原数组中的每个对象,然后将 `field1` 和 `field2` 拼接到一起得到新的字符串,最后将新的字符串放到 `newArr` 中。值得注意的是,这里假定输入的对象都包含 `field1` 和 `field2` 字段,没有对输入进行严格的检查。如果输入的对象不符合要求,上述代码可能会抛出异常。
相关问题
js让一个数组某个字段一样的放到一起
可以使用JavaScript中的Array.prototype.reduce()方法来实现这个功能,具体步骤如下:
假设有一个数组arr,其中包含多个对象,对象中有一个字段为field,现在需要将所有field字段相同的对象放到一起,最终返回一个新的数组newArr。
代码如下:
```javascript
const arr = [
{ field: 'a', value: 1 },
{ field: 'b', value: 2 },
{ field: 'a', value: 3 },
{ field: 'c', value: 4 },
{ field: 'b', value: 5 }
];
const newArr = arr.reduce((acc, cur) => {
const index = acc.findIndex(item => item.field === cur.field);
if (index > -1) {
acc[index].value.push(cur.value);
} else {
acc.push({
field: cur.field,
value: [cur.value]
});
}
return acc;
}, []);
console.log(newArr);
```
运行结果为:
```
[
{ field: 'a', value: [1, 3] },
{ field: 'b', value: [2, 5] },
{ field: 'c', value: [4] }
]
```
可以看到,新的数组newArr中将所有field字段相同的对象放到了一起,并且将相同field字段的value值放到了一个数组中。
取出数组对象中的一个字段拼接为字符串
可以使用 JavaScript 中的 map 和 join 方法来实现这个功能。假设数组对象为 arr,字段为 field,代码如下:
```
const str = arr.map(obj => obj[field]).join('');
```
这将遍历数组对象,取出每个对象的指定字段的值,并将它们拼接成一个字符串。