Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/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_Function - Fatal编程技术网

JavaScript返回函数不是真实结果

JavaScript返回函数不是真实结果,javascript,function,Javascript,Function,我有一个数组和一个函数checkMember。我想检查一下,数组中是否有成员?但checkMember函数只有在调用checkMember('Cody')时才为true。我不明白。请帮帮我 var fe01=[ {姓名:'Giang',费用:5,fea:6}, {姓名:'Zack',费用:7,fea:7}, {姓名:'Henry',费用:8,fea:8}, {姓名:'Cody',费用:9,fea:9} ]; 函数检查成员(名称){ var结果; 对于(变量i=0;i

我有一个数组和一个函数checkMember。我想检查一下,数组中是否有成员?但checkMember函数只有在调用checkMember('Cody')时才为true。我不明白。请帮帮我

var fe01=[
{姓名:'Giang',费用:5,fea:6},
{姓名:'Zack',费用:7,fea:7},
{姓名:'Henry',费用:8,fea:8},
{姓名:'Cody',费用:9,fea:9}
];    
函数检查成员(名称){
var结果;
对于(变量i=0;i
有很多方法可以解决这个问题

使用
for..loop
和语句:

var fe01=[
{姓名:'Giang',费用:5,fea:6},
{姓名:'Zack',费用:7,fea:7},
{姓名:'Henry',费用:8,fea:8},
{姓名:'Cody',费用:9,fea:9}
];
函数检查成员(名称){
var结果;
对于(变量i=0;i控制台日志(checkMember('Giang'))//真的
这对您很有用

    var fe01 = [
            {name: 'Giang', fee: 5, fea: 6},
            {name: 'Zack', fee: 7, fea: 7},
            {name: 'Henry', fee: 8, fea: 8},
            {name: 'Cody', fee: 9, fea: 9}
        ];

function checkMember(name){
            return fe01.some(obj => obj.name == name)
        }

console.log(checkMember('Cody'));//true
console.log(checkMember('personX'));//false

不太奇怪吗?您没有在找到它后立即停止,而是继续检查下一个元素,这会使您的查找无效。话虽如此,究竟为什么要在存在的时候编写所有这些代码呢?非常感谢!你能给我解释一下“使用for..loop with break语句”吗?或者与我共享关键字?实际上,我已经共享了语句的链接。基本上,现在即使找到匹配项,循环也会继续运行。因此,当找到匹配项时,则
result=true
,但在下一个循环中再次没有找到匹配项,因此
result=false
,因此我们也看到找到的匹配项为false。只要找到第一个mtach,我们就需要打破循环。