首页 >社区问答列表 >javascript - 数组[2,4,8]怎么样操作 让他变成(2 | 4 | 8)

javascript - 数组[2,4,8]怎么样操作 让他变成(2 | 4 | 8)

数组[2,4,8]怎么样操作 让他变成(2 | 4 | 8)??

[2,4,8].join("|") ==“2 | 4 | 8”,达不到想到的(2 | 4 | 8)这个形式.
反复用join 试了....外面的括号加不上去?请大家帮帮忙...

  • 大家讲道理
  • 大家讲道理    2017-06-30 10:01:383楼

    join 2次

    > ['(',')'].join([2, 4, 8].join("|"))
    '(2|4|8)'

    @vue_小白

    现在要把一个数组[1,2,4] 转换成数字类型的(1|2|4),因为后面需要把转化好的(1|2|4)转化成16进制..所以现在不知道如何把数组[1,2,4]转化成(1|2|4).toString(16)这样进行运算

    方法如下:

    > arr = [1,2,4]
    > arr.reduce((x,y)=>x|y,0).toString(16)
    '7'

    +0添加回复

  • 回复
  • 某草草
  • 某草草    2017-06-30 10:01:381楼

    1.哇,自己定制一个 prototype,默认的达不到。

    var arr = [1, 2, 34];
    Array.prototype.FuckJoin = function (start, sp, end) {
      console.log(this);
      var res = start;
      this.forEach(function (a, index) {
        res += a.toString();
        if (arr.length - 1 > index) {
          res += sp.toString();
        }
      })
      return (res + end);
    };
    console.log(arr.FuckJoin('(', '|', ')'));
    

    2.字符串两遍加一个 ()不就可以 了

    +0添加回复

  • 回复