javascript - 了解 ES6 中数组的区别?

标签 javascript arrays ecmascript-6

所以我有两个数组:

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/

相关文章:

javascript - react 函数不返回任何值

php - 调用 php 函数并在按钮单击时重定向

javascript - 在 Firefox WebExtension 内容脚本中记录 DOM 对象会打印 "<unavailable>"

arrays - 如何在ajax中使用foreach codeigniter

c++ - 在 GDB 中打印 int **x

angular - 在拦截器中刷新 token 时管道 catchError 不起作用

javascript - 通过javascript查找元素时出错

javascript - 如何使用javascript或jquery将html表单数据保存到sql db

c++ - 在 C++ 中填充一维数组

javascript - 在reactjs es6文件中导入css脚本时出现意外的 token 非法错误