js中的concat函数-字符串拼接+数组拼接
一、concat() 方法用于字符串拼接字符串
let str1 = "abc"
let str2 = "123";
let s1 = str1.concat(str2);
let s2 = str1.concat(str2, str2);
console.log(s1); // abc123
console.log(s2); // abc123123
console.log(str1); // abc
console.log(str2); // 123
该方法不会改变str1和str2自身的值,返回一个新的字符串;且可支持一次性拼接多个字符串。
二、concat()方法用于数组拼接数组
let arr1 = [1, 'a', 3];
let arr2 = ['b', 2, '0'];
let arr3 = arr1.concat(arr2);
let arr4 = arr1.concat(arr2, arr2);
console.log(arr3); // [1, 'a', 3, 'b', 2, '0']
console.log(arr4); // [1, 'a', 3, 'b', 2, '0', 'b', 2, '0']
console.log(arr1); // [1, 'a', 3]
console.log(arr2); // ['b', 2, '0']
该方法不会改变现有的数组arr1和arr2,而仅仅会返回被连接数组后的新数组;且可支持一次性拼接多个数组。
附:
三、concat()方法用于字符串和数组互相拼接
let str = 'abc';
let arr = [1, 'a', 3];
//1.字符串拼接数组
let result1 = str.concat(arr);
console.log(result1); // abc1,a,3
//2.数组拼接字符串
let result2 = arr.concat(str);
console.log(result2); // [1, 'a', 3, 'abc']
1.字符串使用concat函数拼接数组时返回的结果是字符串,把concat()里的数组参数arr默认toString()为字符串拼1,a,3接到字符串str上,所以打印出来是abc1,a3。
2.数组使用concat函数拼接字符串时返回的结果是数组,把concat()里的字符串参数str直接拼接到数组arr上,所以打印出来的是[1, ‘a’, 3, ‘abc’]。
总结:
数组调用concat函数的结果是数组,直接拼接上去;
字符串调用concat函数的结果是字符串,如参数里是数组则是拼接该数组toString()后的字符串。
并且都支持concat多个参数。