【发布时间】:2017-02-01 00:33:53
【问题描述】:
我对 javascript 非常陌生,我正在尝试创建一个函数,该函数接受数字的混合输入,然后循环遍历数组,以便将它们分类为两个较新的数组,以便我可以进一步操作它们。
所以如果我有一个输入 1,a,2,b,3,c,4,d,
我想制作两个新的数组 1,2,3,4 和 a,b,c,d
到目前为止,我已经能够在逗号处拆分输入字符串,所以我现在有了
1a2b3c4d
我现在需要做的就是将数字和非数字分开。我正在考虑使用两个循环:一个检查
if(isNan.array[n] == True)
然后尝试找到一种方法使用循环将字母存储到变量中,然后使用另一个循环使用另一个 if 函数对数字执行此操作。
我应该这样做吗?你对如何去做有什么建议吗?
编辑:
我现在有这个代码来检查字母:
if (isNaN(splitResult[L])) {
for (i = 0; i < splitResult; i++) {
letterArray.add(splitResult[L]);
L = L + 1
当我尝试将结果输出到一个框以计算字母时(使用变量 L),什么都没有显示。我怀疑我制作了一个新数组
【问题讨论】:
-
为什么要循环两次?做一个
if(NaN...) letterArray.add(array[i]); else numArray.add(array[i]); -
您应该先尝试一下....如果它没有按预期工作,请在此处提问,显示您正在使用的代码
-
使用
arrayName.forEach(functionName)并在 JavaScript 中的数组中添加新项目,您使用“推送”而不是“添加”,因此它将是letterArray.push(item)。您可以在此处查看 forEach 示例:w3schools.com/jsref/jsref_forEach.asp 另外 isNan(item) 将返回一个布尔值,因此您不需要将其等同于 true 或 false 您可以简单地使用if(isNan(item)) {} -
'因为我对此非常陌生;我什至无法识别您建议的循环。
标签: javascript arrays loops numbers