根据数组筛选 JavaScript 中对象的属性并获取已筛选的对象


我们必须编写一个函数,它输入一个对象和一个字符串文字数组,并返回一个已筛选的对象,其中包含出现在字符串数组中的键。

例如,如果对象是 {“a”: [], “b”: [], “c”:[], “d”: []} 且数组是 [“a”, “d”],则输出应为 −

{“a”: [], “d”:[]}

因此,让我们编写此函数的代码,

我们将遍历对象的键,不管它是否存在于数组中,如果是,则将键值对推入新对象中,否则我们将继续遍历并在最后返回新对象。

示例

const capitals = {
   "usa": "Washington DC",
   "uk": "London",
   "india": "New Delhi",
   "italy": "rome",
   "japan": "tokyo",
   "germany": "berlin",
   "china": "shanghai",
   "spain": "madrid",
   "france": "paris",
   "portugal": "lisbon"
};
const countries = ["uk", "india", "germany", "china", "france"];
const filterObject = (obj, arr) => {
   const newObj = {};
   for(key in obj){
      if(arr.includes(key)){
         newObj[key] = obj[key];
      };
   };
   return newObj;
};
console.log(filterObject(capitals, countries));

输出

控制台中的输出为 −

{
   uk: 'London',
   india: 'New Delhi',
   germany: 'berlin',
   china: 'shanghai',
   france: 'paris'
}

更新时间: 2020-08-25

395 次查看

开始您的职业生涯

完成课程获得认证

开始
广告
© . All rights reserved.