zoukankan      html  css  js  c++  java
  • 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樱释ღ( ´・ᴗ・` )

    打不死的小强
  • 相关阅读:
    字节序列高低端问题
    简单的进制转换
    网页中如何调用WIN本地程序
    获取CAN报文并解析
    异步通信服务选型
    PostgreSQL 更新JSON,JSONB字段
    js,Date的toJSON方法时间和当地时间不一致如何处理
    js中字符串的替换 replace方法
    百度富文本编辑器umeditor,ueditor字体修改无效的问题
    python 3 基础之类和对象的创建、面向对象的三大特性
  • 原文地址:https://www.cnblogs.com/mggahui/p/13797082.html
Copyright © 2011-2022 走看看