在for循环中调用末尾带有数字的对象

时间:2018-03-01 00:13:57

标签: javascript arrays object

这是我尝试处理的示例代码。我认为这可能是一件简单的事情,但是前端课程的老师我没有给我一个答案(或者在#34;这里的格式)使用"或"这里是做你在这里尝试的正确方法"。)

var part1 = {
    type = 1,
}   

var part2 = {
    type = 2,
}

var part3 = {
    type = 3,
}

var partArray = [part1, part2, part3];
var carArray = [];
var truckArray = [];

for (i = 0; i < partArray.length; i++) {
    if (part[i].type === 1 || part[i].type === 2) {
        carArray.push(part[i]);
    }
    if (part[i].type === 3) {
        truckArray.push(part[i]);
    }
}

2 个答案:

答案 0 :(得分:0)

你做错了一些事情。首先是如何在零件对象中创建属性。其次,您正在访问不存在的变量part。我知道您正在尝试访问part1part2part3。问题是你已经有了数组中的那些,所以最容易通过那里访问。试试这个:

var part1 = {
  type: 1
}

var part2 = {
  type: 2
}

var part3 = {
  type: 3
}

var partArray = [part1, part2, part3];
var carArray = [];
var truckArray = [];

for (var i = 0; i < partArray.length; i++){
  if (partArray[i].type === 1 || partArray[i].type === 2){
      carArray.push(partArray[i])
  }
  if (partArray[i].type === 3){
      truckArray.push(partArray[i])
  }
}

console.log(carArray)
console.log(truckArray)

答案 1 :(得分:0)

您正在使用part而不是partArray

for (i=0; i < partArray.length; i++){
    if (partArray[i].type === 1 || partArray[i].type === 2){
        carArray.push(partArray[i])
    }
    if (partArray[i].type === 3){
        truckArray.push(partArray[i])
    }
}