数组里面是对象用join
时间: 2024-02-27 12:57:23 浏览: 43
如果数组中的元素是对象,那么在使用join方法时,会将对象默认调用toString方法转换为字符串,然后再进行连接。
例如:
```
const arr = [{name: 'Alice', age: 21}, {name: 'Bob', age: 22}, {name: 'Charlie', age: 23}];
const str = arr.join(); // '[object Object],[object Object],[object Object]'
const str2 = arr.join('-'); // '[object Object]-[object Object]-[object Object]'
```
可以看到,直接使用join方法连接对象会得到不理想的结果,因为默认情况下对象会被转换为字符串"[object Object]"。如果需要将对象的某个属性值进行连接,可以使用map方法先将每个对象转换为字符串,再使用join方法进行连接。
例如,连接每个对象的name属性:
```
const arr = [{name: 'Alice', age: 21}, {name: 'Bob', age: 22}, {name: 'Charlie', age: 23}];
const str = arr.map(obj => obj.name).join(); // 'Alice,Bob,Charlie'
const str2 = arr.map(obj => obj.name).join('-'); // 'Alice-Bob-Charlie'
```
这样就可以得到期望的结果了。
阅读全文