在filter中使用return true和return false



filter()

對數組中的每個元素都執行一次指定的函數(callback),並且創建一個新的數組,該數組元素是所有回調函數執行時返回值為 true(return true) 的原數組元素,返回值為false(return false)的原數組元素過濾掉。它只對數組中的非空元素執行指定的函數,沒有賦值或者已經刪除的元素將被忽略,同時,新創建的數組也不會包含這些元素。回調函數可以有三個參數:當前元素,當前元素的索引和當前的數組對象。

// 原始數據
var arrs = [
  {
    name: "tom",
    age: 18,
    sex: "boy"
  },
  {
    name: "jim",
    age: 19,
    sex: "boy"
  },
  {
    name: "anchor",
    age: 20,
    sex: "boy"
  },
  {
    name: "lucy",
    age: 18,
    sex: "girl"
  },
  {
    name: "lily",
    age: 19,
    sex: "girl"
  },
  {
    name: "andy",
    age: 20,
    sex: "girl"
  }
];

// 過濾條件
var limits = {
  name: 'tom',
  age: 18,
  sex: 'boy'
};

// filter回調函數
function dofilter(element, index, array) {
  if(limits.name && limits.name != element.name){ // 姓名過濾
    return false;
  }else if(limits.age && limits.age != element.age){ // 年齡過濾
    return false;
  }else if(limits.sex && limits.sex != element.sex){ // 性別過濾
    return false;
  }
  return true;
}

/* test */
var filtered = arrs.filter(dofilter);
console.log(filtered);

 

參考---https://blog.csdn.net/archer119/article/details/78893030?utm_term=js%E7%9A%84filter%E4%B8%ADreturntrue&utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~all~sobaiduweb~default-1-78893030&spm=3001.4430


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM