如何在javascript中加入(特定)数组?

时间:2016-01-14 09:08:41

标签: javascript arrays join

这是我的arrar:

var arr = [{
    learn : {text: ["ab", "cd"]}
}];

我想加入它,结果必须是这样的:"[ab][cd]" 我的意思是它必须是字符串。

我尝试加入此代码:

var joined = arr[0].learn.text.join("][")

但结果如下:"ab][cd"(字符串)

this is demo

3 个答案:

答案 0 :(得分:1)

它应该像

一样简单
var joined = "[" + arr[0].learn.text.join("][") + "]";

只需添加"["并附加"]"

答案 1 :(得分:0)

或者你可以使用Array.map和'[fat]箭头函数'与Array.join:

["ab", "cd"].map(v => '['+v+']').join('');

Array.map为数组的每个元素执行一个函数。 在这种情况下,该函数是一个'箭头函数',它将方括号中包含的元素作为字符串返回。 然后Array.join将字符串连接在一起。

箭头函数是定义匿名函数的简便方法。

  

基本语法

     

(param1,param2,...,paramN)=> {statements}(param1,param2,...,paramN)=>表达
  //相当于:=> {return expression; }

     

//当只有一个参数时,括号是可选的:
  (singleParam)=> {statements}
   singleParam => {statements}

     

//没有参数的函数需要括号:()=> {statements}

更多关于'箭头功能'的信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions

答案 2 :(得分:0)

另一种可能的方式是

var joined = arr[0].learn.text.map(function(s){ return "["+s+"]" }).join();
//Gives => "[ab],[cd]"