将数组拆分为单个字符串

时间:2015-04-18 16:08:34

标签: javascript

我想将此数组拆分为单个字符串。我尝试了以下代码,但卡住了。

var myArray=[];
myArray=["Abdusalam Abubakar", "Mavissoulkin"];
function cutName("Salam"){
    var fullname=myArray[0];
    var splitting=fullname.split(" ");
    return splitting;
}

2 个答案:

答案 0 :(得分:1)

如果 您的目标是转换

["Abdusalam Abubakar", "Mavissoulkin"]

["Abdusalam", "Abubakar", "Mavissoulkin"]

你可以通过遍历数组,拆分条目,并将它们添加到新数组来实现,如下所示:



var myArray = ["Abdusalam Abubakar", "Mavissoulkin"];
function cutName(a){
  var newArray = [];
  a.forEach(function(entry) {
    newArray.push.apply(newArray, entry.split(" "));
  });
  return newArray;
}
snippet.log("Before: " + JSON.stringify(myArray));
snippet.log("After:  " + JSON.stringify(cutName(myArray)));

<!-- Script provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>
&#13;
&#13;
&#13;

形成newArray.push.apply(newArray, ...)有点奇怪:它所做的是用你在作为第二个参数传递的数组中给出的一系列参数调用push,实际上调用{{1}反复。

或者如果你想让事情变得简洁,你可以使用/滥用push

&#13;
&#13;
Array#reduce
&#13;
var myArray = ["Abdusalam Abubakar", "Mavissoulkin"];
function cutName(a){
  return a.reduce(function(newArray, entry) {
    newArray.push.apply(newArray, entry.split(" "));
    return newArray;
  }, []);
}
snippet.log("Before: " + JSON.stringify(myArray));
snippet.log("After:  " + JSON.stringify(cutName(myArray)));
&#13;
&#13;
&#13;

<!-- Script provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 --> <script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>重复调用你给它的函数,对于数组中的每个条目调用一次,传入&#34;累加器&#34;你最后将它作为第一个参数并将条目作为第一个参数。您返回的值将用作下一次调用的累加器。使用它可能有点OTT,但是......

答案 1 :(得分:0)

NaN

首先使用javascript .toString(); 将数组转换为字符串。您将获得字符串输出。...而不是进一步使用 .split(''); 将单个字符放入数组。如果要完全连接字符串,请使用 .join(''); 从数组中制作完整的字符串...

NaN