javascript-否则不会导致预期的比较

javascript-否则不会导致预期的比较,javascript,arrays,Javascript,Arrays,我是javascript新手。我这里有点小问题。 javascriptif/else语句是否与其他语言(c++、java、python)不同 这就是我面临的问题 if else语句只接受从myArray到我的新数组中的i==0和i==1 为什么我不能将其他元素分离到我的新数组中?我使用了myArray作为示例。在我真正的问题中,我不知道我有多少元素。这就是为什么我设置变量三次和增加三次。我只是尝试使用for循环将姓名、邮政编码和金额分离到不同的数组中 var nameArray=[]、zi

我是javascript新手。我这里有点小问题。
javascript
if
/
else
语句是否与其他语言(c++、java、python)不同

这就是我面临的问题

  • if else语句只接受从myArray到我的新数组中的
    i==0
    i==1
为什么我不能将其他元素分离到我的新数组中?我使用了
myArray
作为示例。在我真正的问题中,我不知道我有多少元素。这就是为什么我设置变量
三次
增加三次
。我只是尝试使用
for
循环将姓名、邮政编码和金额分离到不同的数组中

var nameArray=[]、zipCodeArray=[]、totalAmountArray=[];
三次var=3;
var增加3=0;
var myArray=[“Eric”、“94990”、“540”、“Sam”、“303030”、“350”];
对于(var i=0;ilog(totalAmountArray)
假设数组的格式为[a0,b0,c0,…,aN,bN,cN],其中N是“条目”的数量-1;您可以简化逻辑,通过以下方式确定将值放在何处:

const myArray = ["Eric ", "94990", "540", "Sam ", "303030", "350"];
const nameArray = [], zipCodeArray = [], totalAmountArray = [];

for(var i = 0; i < myArray.length; i++) {
    switch (i % 3) {
        case 0:
            nameArray.push(myArray[i]);
            break;
        case 1:
            zipCodeArray.push(myArray[i]);
            break;
        case 2:
            totalAmountArray.push(myArray[i]);
            break;
    }
}

console.log(nameArray) 
console.log(zipCodeArray) 
console.log(totalAmountArray)
constmyarray=[“Eric”、“94990”、“540”、“Sam”、“303030”、“350”];
常量nameArray=[]、zipCodeArray=[]、totalAmountArray=[];
对于(var i=0;i
这将适用于任何大小的数组,并且不需要不必要的变量和if-else块。下面是javascript开关块的有用链接
()与if-else块相比更干净,在这种情况下更清楚地显示意图。

考虑到您的
for
循环的功能,在
i
的其他哪些值下,您希望这些条件中的任何一个为真?您在每次迭代中将
增加三倍,并且
增加三倍,而
i
仅增加1-因此我再次问,在
i
的哪个值时,您希望这些条件为真?您可能希望在
if
语句之前打印
i
三次,并将
增加三次,以查看它们是否具有您期望的值@里克如果你想发布答案,请发布答案。不要在问题中编辑提示。再想一想:
for
中的每个循环将变量增加3,而
i
将变量增加1。所以第一次迭代:
i=0
threeTimes=3
increaseByThree=3
。下一次迭代:
i=1
三次=6
增加三次=6
。。。那么下一步是什么呢?谢谢。谢谢你的帮助