【问题标题】:How to compare an object with an array and return a value如何将对象与数组进行比较并返回值
【发布时间】:2021-10-17 00:05:38
【问题描述】:

假设我有一个结构如下的对象:

const carObj = {"1234":"Corvette","4321":"Subaru","8891":"Volvo"};

我有一个表示键(或 ID)的数组:

const myArray = [1234, 4321, 8891, 1234, 4321]

我想要一个循环、函数或其他将通过数组对象并返回相应键的值的东西。我正在使用 vue.js 并尝试在计算方法中执行此操作。任何帮助将不胜感激。

预期输出:

Corvette
Subaru
Volvo
Corvette
Subaru

【问题讨论】:

    标签: javascript arrays vue.js


    【解决方案1】:

    只需根据对象的键映射数字数组即可返回新的数组:

     const result = myArray.map(item=>carObj[item])
    

    计算属性:

    computed:{
       result(){
            return this.myArray.map(item=>this.carObj[item])
          }
    
    }
    

    【讨论】:

    • 请注意,这是可行的,因为 JS 在将 myArray 中的整数用作键时会将它们转换为字符串。
    【解决方案2】:

    const carObj = {"1234":"Corvette","4321":"Subaru","8891":"Volvo"};
    const myArray = [1234, 4321, 8891, 1234, 4321];
    
    myArray.forEach((item) => {
      console.log(carObj[item]);
    });

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-26
      • 1970-01-01
      相关资源
      最近更新 更多