我有类似的数据
const data = {
pizza: ['Pizza Margherita', 'peppy paneer'],
sandwich: [],
burger: ['Veg Maharaja'],
number: [0,2]
};
我想以数组形式存储数据,
[ 'Pizza Margherita', 'peppy paneer','Veg Maharaja' ]
这就是我尝试过的
const food = [];
for(key in data) {
if (data.hasOwnProperty(key)) {
const element = data[key];
element.forEach(el => {
food.push(el)
});
}
}
//It Gives output like [ 'Pizza Margherita', 'peppy paneer', 'Veg Maharaja', 0, 2 ]
但我想忽略最后一个键号。
最佳答案
您可以使用Object.values
将对象转换为数组。可以使用concat
和传播语法来展平该数组。使用filter
仅获取字符串。
const data = {
pizza: ['Pizza Margherita', 'peppy paneer'],
sandwich: [],
burger: ['Veg Maharaja'],
number: [0, 2]
};
const result = [].concat(...Object.values(data)).filter(isNaN);
console.log(result);