Nik*_*aut 14 javascript arrays json
我试图比较json_str1和json_str2,这里它应该返回true,因为json_str1中的所有元素都存在于json_str2中.
就目前而言,我这样做很长
json_str1 = '{"0":"a","1":"b","2":"c"}';
json_str2 = '{"0":"c","1":"b","2":"a"}';
json_obj1 = $.parseJSON(json_str1);
json_obj2 = $.parseJSON(json_str2);
arr1 = $.map(json_obj1, function(el) { return el });
arr2 = $.map(json_obj2, function(el) { return el });
if($(arr1).not(arr2).length === 0 && $(arr2).not(arr1).length === 0)
alert("equal");
else
alert("not equal");
Run Code Online (Sandbox Code Playgroud)
如何在不将对象转换为数组的情况下使其简洁明了?
小智 13
使用以下代码:
Object.keys(json_obj1) . every(k1 =>
Object.keys(json_obj2) . some(k2 =>
json_obj1[k1] === json_obj2[k2]
)
);
Run Code Online (Sandbox Code Playgroud)
用英语讲:
每个键
k1在json_obj1满足该条件的一些关键k2在json_obj2satisifies的条件的值json_obj1与主要k1等于价值json_obj2与关键k2.
或者更多会话英语:
第一个对象中的每个值都匹配第二个中的某个值.
| 归档时间: |
|
| 查看次数: |
4996 次 |
| 最近记录: |