迭代数组并比较值

时间:2012-09-24 18:16:12

标签: jquery

使用jQuery,我试图迭代一个数组并与一个值进行比较,但是我遇到了困扰我的问题。这是代码:

var cF = ['first','last','email'];
var fFound = 0;
cj(this).children('.section').each(function(f){
  var fId = cj(this).attr('class');
  fId = fId.replace('-section', '');
  console.log('fId: ',fId);
  cj.each(cF, function( cFi, cFv ){
    console.log('cFv: ',cFv);
    if ( cFv == fId ) {
      console.log('found!');
      fFound = 1;
    }
  });
  console.log('fFound: ',fFound);
});

基本上我正在做的是搜索一系列div(用'this'传递),检索类名,将后缀剥离到类,然后将它与我的cF数组进行比较。如果找到,我想将fFound设置为1(这是我的标志,表示该值存在)。

最初我使用的是jQuery.inArray(),但运气不好。当我将fId和cFv发送到控制台时 - 它们匹配 - 但比较不会将它们识别为匹配。

3 个答案:

答案 0 :(得分:1)

试试这个

cj.each(cF, function( cFi, cFv ){
    console.log('cFv: ',cFv);
    if ( $.inArray( fId, cF )  > -1 ) {
      console.log('found!');
      fFound = 1;
    }
  });

答案 1 :(得分:0)

迭代数组并比较值

var cF = ['first','last','email'];
var bla = 'anything'
var fFound = 0;

for (j in cF) {
    if (bla.indexOf(cF[j]) > -1) {
        fFound = 1;
    }
}

ops ...你想要jQuery ......从头开始。

答案 2 :(得分:0)

var cF = ['first','last','email'];
var fFound = 0;
cj(this).children('.section').each(function(f){       
  var fId = cj(this).attr('class');
  fFound = 0; // reset 
  fId = fId.replace('-section', '').trim();
  console.log('fId: ',fId);
  if( $.inArray( fId, cF ) !== -1 ) {
      console.log('found!');          
   }
   console.log('fFound: ',fFound);
});