搜尋

首頁  >  問答  >  主體

javascript - 陣列[2,4,8]怎麼樣運算 讓他變成(2 | 4 | 8)

陣列[2,4,8]怎麼樣運算 讓他變成(2 | 4 | 8)? ?

[2,4,8].join("|") ==“2 | 4 | 8”,達不到想到的(2 | 4 | 8)這個形式.
反覆用join 試了....外面的括號加不上去?請大家幫忙...

学习ing学习ing2761 天前998

全部回覆(3)我來回復

  • 大家讲道理

    大家讲道理2017-06-30 10:01:38

    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:38

    雷雷

    回覆
    0
  • 某草草

    某草草2017-06-30 10:01:38

    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
  • 取消回覆