根据数组过滤对象的属性并获取过滤后的对象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'
}