我想使用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);

09-20 23:31