我有两个复数数组,我想比较它们。
Array1 = [{INPUT_ID: 1, INPUT_VAL: "Test1", ACTIVE_FLAG: 1}, {INPUT_ID: 2, INPUT_VAL: "Test2", ACTIVE_FLAG: 1}, {INPUT_ID: 3, INPUT_VAL: "Test3", ACTIVE_FLAG: 1}, {INPUT_ID: 4, INPUT_VAL: "Test4", ACTIVE_FLAG: 1}]
Array2 = [{INPUT_ID: 1, INPUT_VAL: "Test1"}, {INPUT_ID: 2, INPUT_VAL: "Test2"}, {INPUT_ID:4, INPUT_VAL: "Test4"}, {INPUT_ID: 5, INPUT_VAL: "Test5"}]
我想比较它们,然后创建新的Array或修改Array1
在数组1中,我有INPUT_ID = 3,而在数组2中,我没有INPUT_ID = 3,所以我想为数组1中的INPUT_ID = 3标记ACTIVE_FLAG =“3”。在数组2中,我没有INPUT_ID = 5,但在数组1中,我有INPUT_ID = 5,所以我想将此对象添加到数组1中,并标记ACTIVE_FLAG =“2”。
我最后的阵法应该是这样的。
Array1 = [{INPUT_ID: 1, INPUT_VAL: "Test1", ACTIVE_FLAG: 1}, {INPUT_ID: 2, INPUT_VAL: "Test2", ACTIVE_FLAG: 1}, {INPUT_ID: 3, INPUT_VAL: "Test3", ACTIVE_FLAG: 3}, {INPUT_ID: 4, INPUT_VAL: "Test4", ACTIVE_FLAG: 1}, {INPUT_ID: 5, INPUT_VAL: "Test3", ACTIVE_FLAG: 2}]
如何使用Jquery实现这一点?
1条答案
按热度按时间juud5qan1#
更容易阅读但效率低下(构建三个组、设置标记、concat和排序):
输入数组必须进行排序(同时遍历两个数组,并确定下一个元素是哪个),这是一种丑陋但有效的方法: