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_Parameters - Fatal编程技术网

Javascript将数组中的元素作为数组输出,并使用函数拆分

Javascript将数组中的元素作为数组输出,并使用函数拆分,javascript,arrays,parameters,Javascript,Arrays,Parameters,我正在尝试创建一个函数,它使用一个参数来分割项目。分割部分可以工作,但问题是当我尝试使用数组中的项时,我没有定义 var arrayItems = ["twenty two","thirty three","forty four","fifty five"]; function splitElement(arr) { arr.split(" "); return arr; } splitElement(arrayItems[0]); 不幸的是,它返回的是22,而不是[“二十

我正在尝试创建一个函数,它使用一个参数来分割项目。分割部分可以工作,但问题是当我尝试使用数组中的项时,我没有定义

var arrayItems = ["twenty two","thirty three","forty four","fifty five"];

function splitElement(arr) {
    arr.split(" ");
    return arr;
}

splitElement(arrayItems[0]);
不幸的是,它返回的是
22
,而不是
[“二十”,“两”]

作为测试,我尝试了这个,它确实返回了我想要的:

function splitElement(arr) {
    arr = arrayItems[0].split(" ");
    return arr;
}

splitElement();
但我现在要做的是从数组中获取任何元素作为参数,并将arr保留为通配符,它可以接受任何输入参数作为输出

例如,如果我这样做:

splitElement("sixty six");
然后它应该返回一个数组:

["sixty","six"];

我做错了什么?

您需要返回拆分结果,因为它不会更改原始项

注意:您没有拆分数组或元素(您从数组中传递了一个项,但函数没有意识到这一点)。我会将函数重命名为
splitString(str)

var arrayItems=[“二十二”、“三十三”、“四十四”、“五十五”];
函数拆分元素(元素){
返回元素。拆分(“”);
}
var结果=拆分元素(arrayItems[0]);

控制台日志(结果)
String.split
不修改原始值,它返回一个新数组,其中包含通过拆分字符串获得的元素。您需要存储该数组才能使用它或返回它

var arrayItems = ["twenty two","thirty three","forty four","fifty five"];
function splitElement(arr) {
    arr = arr.split(" ");
    return arr;
}

splitElement(arrayItems[0]);
或者,更简单的是,直接返回结果,而不是将其存储在变量中:

var arrayItems = ["twenty two","thirty three","forty four","fifty five"];
function splitElement(arr) {
    return arr.split(" ");
}

splitElement(arrayItems[0]);

哇,瞬间有很多答案。然而,我自己解决了这个问题

我犯了一个错误。我需要做的是在函数中定义变量,然后它将返回数组

var arrayItems = ["twenty two","thirty three","forty four","fifty five"];

function splitElement(arr) {
    arr = arr.split(" ");
    return arr;
}

splitElement(arrayItems[0]);

唯一缺少的部分是
arr=
之前的
arr.split(“”)

如果要为所有元素编码并获得数组数组:

var arrayItems=[“二十二”、“三十三”、“四十四”、“五十五”];
函数拆分数组元素(数组){
返回array.map(item=>item.split(“”);
}
var结果=拆分数组元素(数组元素);

控制台日志(结果)在你发布之前,我已经找到了答案,但我会选择你的答案(在允许的几分钟内),因为它不仅有助于给出与我相同的解决方案,而且还解释了原因。非常感谢。