所以我有两个数组:
const allLanguages = [ 'ES', 'EN', 'DE' ]
const usedLanguages = [ { id: 1, lang: 'EN' } ]
生成新数组的最快方法是什么,这是这两者之间的区别?在老派的 JavaScript 中,你必须在另一个 for 循环中执行一个 for 循环,我认为......
例如:
const availableLanguages = [ 'ES', 'DE' ]
最佳答案
您可以使用 filter()
和 find()
返回过滤后的数组。
const allLanguages = [ 'ES', 'EN', 'DE' ]
const usedLanguages = [ { id: 1, lang: 'EN' } ]
var result = allLanguages.filter(e => !usedLanguages.find(a => e == a.lang));
console.log(result)
您还可以 map()
第二个数组,然后使用 includes()
过滤掉重复项。
const allLanguages = [ 'ES', 'EN', 'DE' ]
const usedLanguages = [ { id: 1, lang: 'EN' } ].map(e => e.lang);
var result = allLanguages.filter(e => !usedLanguages.includes(e));
console.log(result)
关于javascript - 了解 ES6 中数组的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40998880/