一、filter

方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。

  1. todoNumber() {
  2. var list = this.state.list
  3. var todolist = list.filter(item => {
  4. if (!item.isSelected) {
  5. return true
  6. }
  7. })
  8. return todolist.length
  9. }

用过滤器实现删除:

  1. handleDel(item){
  2. var products = this.state.products.filter(value=>value!==item)
  3. this.setState({
  4. products:products
  5. })
  6. }

二、findIndex

返回传入一个测试条件(函数)符合条件的数组第一个元素位置。

  1. var id = id
  2. var list = this.state.list
  3. var index = list.findIndex(item => item.id==id)
  4. list.splice(index, 1)
  5. this.setState({
  6. list
  7. })

三、every

用于检测数组所有元素是否都符合指定条件(通过函数提供)

  1. get() {
  2. var products = this.state.products
  3. var allchecked = products.every(item => item.isSelected);
  4. this.setState({
  5. allchecked
  6. })
  7. }

四、forEach

  1. set(val){
  2. var products = this.state.products
  3. products.forEach(item=>item.isSelected = val)
  4. this.setState({
  5. products
  6. })
  7. }

五、map

image.png