在javascript错误中比较数组

在javascript错误中比较数组,javascript,json,Javascript,Json,我试图比较两个json值列表。如果比较结果为真,则不显示显示,仅显示语句为假的值 代码如下: var files= '{"files":[{"name":"doc1.pdf","title":"networking","path":"mfpreader.comze.com\/files\/doc1.pdf"},{"name":"doc2.pdf","title":"Armoogum","path":"mfpreader.comze.com\/files\/doc2.pdf"}]}'; var

我试图比较两个json值列表。如果比较结果为真,则不显示显示,仅显示语句为假的值

代码如下:

var files= '{"files":[{"name":"doc1.pdf","title":"networking","path":"mfpreader.comze.com\/files\/doc1.pdf"},{"name":"doc2.pdf","title":"Armoogum","path":"mfpreader.comze.com\/files\/doc2.pdf"}]}';
  var result = '[{"name":"doc1.pdf","title":"networking","path":"mfpreader.comze.com\/files\/doc1.pdf"},';

       for (var i = 0; i < files.length; i++) {
                                   var file = files[i];                 
                      for(var j=0;j<arrayResults.length;j++){   

                          if (files[i]==arrayResults[j].json.name){
                              alert("Matching found");
                            //full_list =  full_list + arrayResults[j].json.name + " " + arrayResults[j]._id + "  " + arrayResults[j].json.title + " " + arrayResults[j].json.path + '<br />';

                          }else {

                            alert("no similar files");
                             str += '<br /><div class="fileSection">' + '<br/>' + '<input class="fileName" type="hidden" value="'+ file.name + '" />' + file.name + '<br/>' + '<input class="fileTitle" type="hidden" value="'+ file.title +'" />' +  file.title + '<br/>' + '<input class="filePath" type="hidden" value="'+ file.path +'" />' + '<button onclick="add(this)">Add</button> '+  '</div><br/>' ;

                          }                           


                   }
var files='{“files”:[{“name”:“doc1.pdf”,“title”:“networking”,“path”:“mfpreader.comze.com\/files\/doc1.pdf”},{“name”:“doc2.pdf”,“title”:“Armoogum”,“path”:“mfpreader.comze.com\/files\/doc2.pdf”};
var result='[{“name”:“doc1.pdf”,“title”:“networking”,“path”:“mfpreader.comze.com\/files\/doc1.pdf”};
对于(var i=0;i对于(var j=0;j如果要比较javascript中的内容,最好使用不进行类型转换的
==
而不是
=


请参见此处:

有几件事需要纠正。您主要可以使用以下方法提取数据:

var files='{“files”:[{“name”:“doc1.pdf”,“title”:“networking”,“path”:“mfpreader.comze.com\/files\/doc1.pdf”},{“name”:“doc2.pdf”,“title”:“Armoogum”,“path”:“mfpreader.comze.com\/files\/doc2.pdf”};
var result='[{“name”:“doc1.pdf”,“title”:“networking”,“path”:“mfpreader.comze.com\/files\/doc1.pdf”}];
//您需要将上述字符串转换为数组:
files=JSON.parse(files).files;//您需要files属性
arrayResults=JSON.parse(结果);
对于(var i=0;i对于(var j=0;jFiles甚至不是数组,而是字符串。@cale_b不幸的是,lodash无助于解决JSON字符串和JavaScript对象之间概念上的混淆。为什么这会有任何区别?@torazaburo我没有测试他的代码,只是一个建议听起来像是一个注释,而不是答案。