javascript - 我如何比较两个在javascript中长度不同的数组?

标签 javascript arrays arraylist data-structures

我有两个数组 Array1 和 Array2,我想对它们进行比较,因为它们遵循以下三个规则

第一件事:

Array1=[en,fr,eg];
Array2=[{lang:en},{lang:eg}]

比较后结果为

Result=[{lang:en},{lang:fr,Maybe:i_can_add_other_Attribute},{lang:eg}]

第二件事

如果 Array1=[en,fr,eg]Array2=[{lang:en},{lang:fr}] 那么结果应该是 结果[{lang:en},{lang:fr}]

第三件事

Array2 应该按照 Array1 的顺序排列,这里是示例

Array1=[en,fr,eg]
Array2=[{lang:fr},{lang:en},{lang:eg}]

那么结果应该变成

 Result=[{lang:en},{lang:fr},{lang:eg}]

最佳答案

看来您并不真正关心 Array2 中最初的内容,只关心 Array 中的内容。您只想直接根据 Array1 中的值创建一个新的对象数组,您可以使用 Array.prototype.map 轻松完成此操作。 :

const Array1 = [ 'en', 'fr', 'eg' ];
let Array2 = [ {lang:'eg'}, {lang:'fr'}, 'mashed potatoes' ];

Array2 = Array1.map( lang => ({ lang }) );

console.log( Array2 );

关于javascript - 我如何比较两个在javascript中长度不同的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49523457/

相关文章:

javascript - 根据Javascript中的键/值对将对象拆分为对象数组的最小方法是什么?

arrays - 如何将参数从批处理文件传递到perl中的数组?

java - 从 ArrayList 中删除对象

java - 将元素添加到数组列表

javascript 无法通过innerHTML 进行搜索

javascript - 有没有更好的方法来处理相同的回调函数但不同的输入参数?

javascript - 我应该使用 reduce 进行映射吗?

成员函数指针的 C++ 数组?

Python numpy 将二维数组转换为已排序的一维数组

java - List to Set 不影响元素的顺序