Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 字符串拆分然后推送到数组_Javascript_Arrays_String_Split - Fatal编程技术网

Javascript 字符串拆分然后推送到数组

Javascript 字符串拆分然后推送到数组,javascript,arrays,string,split,Javascript,Arrays,String,Split,我试图将数组中的字符串拆分为单独的单词,然后将它们放入新数组中,以将它们作为单独的单词从该数组中打印出来。我该怎么做?到目前为止,我已经在下面介绍了,但是我认为我的方法在函数中的调用顺序是错误的 var myArray = ["John Doe", "johnDoe"]; var cutName = function(x) { var cutArray = []; cutArray.push(x.split()); return cutArray; }; print cu

我试图将数组中的字符串拆分为单独的单词,然后将它们放入新数组中,以将它们作为单独的单词从该数组中打印出来。我该怎么做?到目前为止,我已经在下面介绍了,但是我认为我的方法在函数中的调用顺序是错误的

var myArray = ["John Doe", "johnDoe"];
var cutName = function(x) {
    var cutArray = [];
    cutArray.push(x.split());
    return cutArray;
};
print cutName(myArray[0]);

如何改进我的代码?

您最终会在一个数组中返回一个数组,这可能不是您所期望的

x.split()
的结果已经是一个数组(例如
['John','Doe']
),然后将其推入
cutArray
,结果是
[[John','Doe']]
,这可能是您感到困惑的原因注意:省略
分隔符
参数到
split()
将返回一个数组,其中唯一的元素是原始字符串——这可能会导致意外的结果)

您的
cutName
函数很难简单地调用
x.split(“”)
。您的代码可以缩短为:

console.log(myArray[0].split(' '));

在没有显示预期输出的情况下,我不确定您还希望代码执行什么操作。

假设您希望拆分数组的每个元素并将所有拆分的部分合并到一个更大的数组中,这对您是否有效

var myArray = ["John Doe", "johnDoe"];
var newArray = (myArray.map(function(x) {return x.split(' ')})).join().split(",");
console.log(newArray);
输出

[ 'John', 'Doe', 'johnDoe' ]

我不太确定你想要什么,但这可能对你有用:

var separateWords = myArray.map(function(word) {
    return word.split(' '); // note the empty space
});

// output [ [ 'John', 'Doe' ], [ 'johnDoe' ] ]
此外,要在单个阵列中获取它,请执行以下操作:

separateWords = separateWords.reduce(function(a,b) { 
  return a.concat(b); 
})

// output [ 'John', 'Doe', 'johnDoe' ]

我认为您的意思是根据分隔元素的空格来分割数组中的元素,而您忘记了将
参数添加到
split()

var myArray=[“约翰·多伊”、“约翰·多伊”];
var cutName=函数(x){
var cutArray=x.split(“”;//将分米放置在此处
返回割集数组;
};
var arr=cutName(myArray[0]);
对于(变量i=0;i}
拆分函数需要一个分隔符,显示字符串应按哪个字符拆分。因此,您的代码应该是:

var myArray = ["John Doe", "johnDoe"];
var cutName = function(x) {
    var cutArray = [];
    cutArray.push(x.split(""));
    return cutArray;
};
document.body.innerHTML=cutName(myArray[0]);

为什么需要将它们推到另一个阵列上?为什么不直接返回
x.split()
?能否显示预期的代码结果?@dognose code Review应仅与正确的代码一起使用。@dognose然后投票关闭,因为寻求调试帮助的问题(“此代码为什么不工作?”)必须包括所需的行为。。。请阅读@dognose是的,他想让它从不工作变为工作。谢谢你,Abdul。我仍然很难准确地说出我想问什么问题,或者我在刚刚学到的东西中迷失了方向,但你已经一针见血了。那太完美了。