Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检查javascript对象中是否存在记录_Javascript - Fatal编程技术网

检查javascript对象中是否存在记录

检查javascript对象中是否存在记录,javascript,Javascript,我有一个web应用程序,它将分隔字段传递到另一个网页。很好用!但是我想列出javascript对象中不存在的字段名。如何做到这一点 JS对象: var members = [ { "Class": "E", "Rating": "1000", "ID": "16720664", "Name": "Adeyemon, Murie", "Expires": "1000.10.10" }, { "Class": "B", "Rating": "1735", "ID": "12537964", "

我有一个web应用程序,它将分隔字段传递到另一个网页。很好用!但是我想列出javascript对象中不存在的字段名。如何做到这一点

JS对象:

var members = [ { "Class": "E", "Rating": "1000", "ID": "16720664", "Name": "Adeyemon, Murie", "Expires": "1000.10.10" }, 
  { "Class": "B", "Rating": "1735", "ID": "12537964", "Name": "Ahmed, Jamshed", "Expires": "2018.10.18" }, 
  { "Class": "C", "Rating": "1535", "ID": "12210580", "Name": "Attaya, James", "Expires": "2019.01.12" }, 
  { "Class": "F", "Rating": "0001", "ID": "16281977", "Name": "Auld, Thomas", "Expires": "1000.10.10" }, 
  { "Class": "B", "Rating": "1793", "ID": "10117780", "Name": "Badamo, Anthony", "Expires": "2018.09.12" }
] 
JS代码:

let dataString = "Adeyemon, Murie|Ahmed, Jamshed|Attaya, James|Badamo, Anthony|Birmingham, Gerald|"; 
let splitString = dataString.split("|"); 

for (let i = 0; i < splitString.length; i++) { 
    $temp = splitString[i - 1]; 
    if ($temp > "") { 
        members.find(x => x.Name === $temp); 
    } 
}
尝试将成员数组设置为一组名称。然后可以使用

康斯特成员=[{等级:E,等级:1000,身份证号码:16720664,姓名:阿德耶蒙,穆里,过期日期:1000.10.10},{等级:B,等级:1735,身份证号码:12537964,姓名:艾哈迈德,贾姆谢,过期日期:2018.10.18},{等级:C,等级:1535,身份证号码:12210580,姓名:阿塔亚,詹姆斯,过期日期:2019.01.12},{等级:F,等级:0001,身份证号码:16281977,姓名:奥尔德,托马斯,过期日期:1000.10.10},{级别:B,评级:1793,ID:10117780,姓名:安东尼巴达莫,有效期:2018.09.12}] const dataString=Adeymon、Murie | Ahmed、Jamshed | Attaya、James | Badamo、Anthony |伯明翰、Gerald |; const Name=members.reducec,{Name}=>c.addName,新集合 const missing=dataString.split'|' .filtername=>name.trim&&!names.hasname .join“;”//您对另一个答案的评论的输出 console.infomissing使用过滤器

var数据串= “阿德耶门、穆里·艾哈迈德、贾姆谢德·阿塔亚、詹姆斯·巴达莫、安东尼、伯明翰、杰拉尔德” var成员=[{类别:E,评级:1000,ID:16720664,姓名:阿德耶蒙,穆里,到期日:1000.10.10},{类别:B,评级:1735,ID:12537964,姓名:艾哈迈德,贾姆谢,到期日:2018.10.18},{类别:C,评级:1535,ID:12210580,姓名:阿塔亚,詹姆斯,到期日:2019.01.12},{类别:F,评级:0001,ID:16281977,姓名:奥尔德,托马斯,到期日:1000.10.10},{级别:B,评级:1793,ID:10117780,姓名:安东尼巴达莫,有效期:2018.09.12}] var res=dataString.split'|'.filter name=>!members.mapo=>o.name.findn=>n==name .filtername=>name.trim== console.logres;您可以首先创建名称到对象的映射,然后从该对象/映射中的字符串中搜索名称,这将花费n个名称

var members=[{Class:E,Rating:1000,ID:16720664,Name:Adeyemon,Murie,Expires:1000.10.10}, {等级:B,等级:1735,身份证号码:12537964,姓名:艾哈迈德,贾姆谢德,有效期:2018.10.18}, {类别:C,等级:1535,ID:12210580,姓名:Attaya,James,有效期:2019.01.12}, {等级:F,等级:0001,ID:16281977,姓名:奥尔德,托马斯,过期日期:1000.10.10}, {级别:B,等级:1793,ID:10117780,姓名:安东尼巴达莫,有效期:2018.09.12} ]; var nameMap=members.reduceprev,next=>{ prev[next.Name]=next; 返回上一个; }, {}; 让dataString=Adeymon、Murie | Ahmed、Jamshed | Attaya、James | Badamo、Anthony |伯明翰、Gerald |; 让names=dataString.split |; 让result=names.filtername=>nameMap中的name&&!name;
logresult;您能给出一个结果示例吗?为什么$temp=splitString[i-1];?如果我可以这样做,我会的。但我正在填充一个查找类和评级的网格。但是一些名称在members对象中不存在。我想列出它们,以便用户可以将它们准确地剪切和粘贴到表单中。然后可以重绘网格。除了索引错误I-1之外?这段代码members.findx=>x.Name==$temp;…您是fi正在终止它,但在i==0、$temp=splitString[-1]时丢弃.findbut的结果只需使用i..并检查$temp.leng,除了输出格式有点混乱。请检查输出可能是Fischer,Robert;Petrosian,Tigran。您有没有可能改进这一点?@verlager,我无法打开您提供的url,请使用codepen或jsfiddler,而不是Head。我已将其格式化为我喜欢的格式。谢谢您的工作。