我想使用ES6语法从更大的原始数组返回格式化的部分数组:
原始阵列
const books = [
{ id: 22, valid: false },
{ id: 7, valid: true },
{ id: 14, valid: false },
{ id: 1, valid: true },
]
新阵列
const booksIds = [7, 1]
要旨
const validBooksIds = bookIds.map(book => book.valid ? book.id : null);
有人有糖吗?
最佳答案
我会过滤,然后映射:
const books = [
{id:22, valid:false},
{id: 7, valid: true}, // keep this
{id:14, valid:false},
{id: 1, valid: true} // keep this
];
const validBookIds = books.filter(b => b.valid).map(b => b.id);
console.log(validBookIds);