【问题标题】:select object in javascript with key's value condition在javascript中选择具有键值条件的对象
【发布时间】:2020-06-26 18:09:09
【问题描述】:

我在 js 中有构造函数:

function car (){
    this.name=name;
    this.position=position;
}

我从上面的构造函数创建了两个 obj 并推送到数组:

arr = [ car{name:car1;position:1},
        car{name:car2;position:2} ]

我还有另一个数组:

map = ["***","car1","***","car2","***"]

我想要它:

for (i = 0; i < arr.length; i++){
    if(map[i] !== "***"){ //for example i=1 and map[1] is car1 and i dont know it!
    //i need select car with name = car1 and change this car's position to 10
    }
}

我不想搜索“car1”。因为在我的主代码中,当新车(car3)进入 car1 位置时,car1.position 必须为 0。实际上在地图汽车名称中根据汽车位置插入。

【问题讨论】:

    标签: javascript object key


    【解决方案1】:

    我需要选择一辆名称为 car1 的汽车并更改该汽车的位置 到 10

    以下内容应该对您有所帮助

    map = ["***", "car1", "***", "car2", "***"];
    
    arr = [{
        name: 'car1',
        position: 1
      },
      {
        name: 'car2',
        position: 2
      }
    ]
    
    
    for (i = 0; i < arr.length; i++) {
      if (map[i] !== "***") {
        const index = arr.findIndex(x => x.name == map[i]);
        arr[index].position = 10;
      }
    }
    
    console.log(arr)

    【讨论】:

    • 请看我有问题的结尾行。我更新了它。我不想搜索 car1
    • 我可以在不搜索数组的情况下做到这一点吗?我可以为每辆车(obj)分配一个变量并用这个变量调用它吗?
    • 当有一个数组结构时,你必须根据这里的索引找到其中的值。如果它是一个仅对象结构,那么您可以通过键值购买以您的方式找到它
    猜你喜欢
    • 1970-01-01
    • 2021-02-18
    • 2023-03-20
    • 1970-01-01
    • 2011-10-04
    • 1970-01-01
    • 2021-12-28
    • 2022-11-01
    • 1970-01-01
    相关资源
    最近更新 更多