所以我有两个数组:
const allLanguages = [ 'ES', 'EN', 'DE' ]
const usedLanguages = [ { id: 1, lang: 'EN' } ]
生成新数组的最快方法是什么?这两者之间有什么区别?在老式的 JavaScript 中,你必须在另一个 for 循环中执行一个 for 循环,我认为......
Eg:
const availableLanguages = [ 'ES', 'DE' ]
您可以使用filter()
and 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)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)