js concat 方法(字符串拼接,數組拼接)


js 字符串和數據均有concat方法

①,字符串 concat 方法

字符串 concat 方法用於連接兩個字符串,返回一個新字符串,不改變原字符串。

var s1 = 'abc';
var s2 = 'def';

s1.concat(s2) // "abcdef"
s1 // "abc"

該方法可以接受多個參數。

'a'.concat('b', 'c') // "abc"

如果參數不是字符串,concat方法會將其先轉為字符串,然后再連接。

var one = 1;
var two = 2;
var three = '3';

''.concat(one, two, three) // "123"
one + two + three // "33"

上面代碼中,concat方法將參數先轉成字符串再連接,所以返回的是一個三個字符的字符串。作為對比,加號運算符在兩個運算數都是數值時,不會轉換類型,所以返回的是一個兩個字符的字符串。

②,數組的 concat 方法

數組 concat 方法用於多個數組的合並。它將新數組的成員,添加到原數組成員的后部,然后返回一個新數組,原數組不變。

['hello'].concat(['world'])
// ["hello", "world"]

['hello'].concat(['world'], ['!'])
// ["hello", "world", "!"]

[].concat({a: 1}, {b: 2})
// [{ a: 1 }, { b: 2 }]

[2].concat({a: 1})
// [2, {a: 1}]

除了數組作為參數,concat也接受其他類型的值作為參數,添加到目標數組尾部。

[1, 2, 3].concat(4, 5, 6)
// [1, 2, 3, 4, 5, 6]

③,字符串和數組混用 concat 方法

var str = 'yangping' ;
var arr = ['y','p'] ;

str.concat(arr) ; // "yangpingy,p"

arr.concat(str) ; // ["y", "p", "yangping"]

當調用 “str.concat(arr)” 時候, 會將 arr 轉換為字符串值 , 然后和 str 拼接起來,等效於以下代碼

str + arr.toString()

而數組的 toString 方法,就是將arr數組所有元素值以 ',' 拼接起來(結果為 "y,p"),所以最終的結果字符串值為 "yangpingy,p"

當調用 “arr.concat(str)”時候,因為 arr 的 concat 方法允許接收字符串值作為參數,所以直接拼接到數組后面啦,所以最終結果為 ["y", "p", "yangping"]

注:字符串 concat 方法返回字符串 ,數組的 concat 方法返回數組

 

 

@萍2櫻釋ღ( ´・ᴗ・` )


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM