我有两个数组 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/