【发布时间】:2021-12-25 10:39:27
【问题描述】:
您好,如何比较 2 个数组 javascript 以进行多选
第一个数组是帐户:['ID': 2,'nama': 'test']['ID': 3,'nama': 'test1']['ID': 4,'nama': 'test4']['ID': 5,'nama': 'test5']
第二个数组是 account_selected :['ID': 2,'nama': 'test']['ID': 5,'nama': 'test']
如何知道第一个数组的 id 到第二个数组,我必须像这样编码,但只有数组 [0] 可以比较
$.each( account, function( i, value ) {
var data = value;
if (data.ID == account_selected[0].ID){
temp += '<option selected value="'+data.ID+'" id="account_id'+data.ID+'" value="'+data.ID+'" >'+data.nama+'</option>'
} else {
temp += '<option value="'+data.ID+'" id="account_id'+data.ID+'" value="'+data.ID+'" >'+data.nama+'</option>'
}
});
此代码只是首先比较第一个数组 account_selected ,如果数据相同,我想选择选项
【问题讨论】:
-
account_selected[0]应该是account_selected[index] -
error bro Uncaught TypeError: Cannot read properties of undefined (reading 'ID')
-
表示没有匹配。您还应该(首先)检查
index > -1。所以if (index > -1 && data.ID == account_selected[index].ID)。为什么要为此使用 jQuery 函数?原生 JavaScript 有这方面的功能......使用 jQuery 进行 DOM 操作,但不能用于处理或循环数组。 -
你能用jsfiddle解释一下吗?
-
你提供的数组结构好像是无效的,说明可以更好。
标签: javascript jquery arrays