不符合指定条件,可能是指定数组array中的某一项不符合某一值的要求;或者是拿另一个数组arr对比,要求array只留下复合arr中的值或者删除掉复合arr中的值。
1.不符合某一值的要求
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>删除数组中符合指定条件的元素</title>
</head>
<body>
    <script>
        let array = [
            { name:'小红', age:17 },
            { name:'小李', age:28 },
            { name:'小刘', age:16 },
            { name:'小张', age:31 },
            { name:'小赵', age:15 },
        ]
        //只留下年龄小于20的。
        for( let i=0,len = array.length; i < len; i++ ){
            if(array[i].age>20){
                console.log('删除元素:姓名:',array[i].name,'年龄:',array[i].age)
                array.splice(i,1)
                i--
                len--
            }
        }
        console.log('array:',array) //打印,符合条件.
    </script>
</body>
</html>打印结果:
 
 
当i--之后,array的长度已经发生了改变,所以定义的len的值已经不准确,也要跟着减去1.
2(1). 只留下在某一个指定数组范围内的元素。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>删除数组中符合指定条件的元素</title>
</head>
<body>
   <script>
     let array = [
         { name:'小田', id:1 },
         { name:'小红', id:2 },
         { name:'小李', id:3 },
         { name:'小刘', id:4 },
         { name:'小张', id:5 },
         { name:'小赵', id:6 },
     ]
     //只留下id属于 [1, 3, 5, 7 ] 中的元素
     let arr = [1, 3, 5, 7 ]
     for( let i=0,len = array.length; i < len; i++ ){
         for(let j=0; j < arr.length; j++){
             if(array[i].id == arr[j]){
                 break
             }else if(j == arr.length-1){
                 console.log('删除元素:姓名:',array[i].name,'id:',array[i].id)
                 array.splice(i,1)
                 i--
                 len--
             }
         }
     }
     console.log('array:',array) //打印,符合条件。
   </script>
</body>
</html>既然是只留下,所以 判断出符合要求的时候,要break掉里边这一层的循环,当j == arr.length-1时,说明都已经对比过了,array[i]并不满足数组中的条件,老样子 i--,len--
打印结果:

2(1). 删除在某一个指定数组范围内的元素.
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>删除数组中符合指定条件的元素</title>
</head>
<body>
   <script>
      let array = [
          { name:'小田', id:1 },
          { name:'小红', id:2 },
          { name:'小李', id:3 },
          { name:'小刘', id:4 },
          { name:'小张', id:5 },
          { name:'小赵', id:6 },
      ]
      //删除id属于 [1, 3, 5, 7 ] 中的元素
      let arr = [1, 3, 5, 7 ]
      for( let i=0,len = array.length; i < len; i++ ){
          for(let j=0; j < arr.length; j++){
              if(array[i].id == arr[j]){
                  console.log('删除元素:姓名:',array[i].name,'id:',array[i].id)
                  array.splice(i,1)
                  i--
                  len--
                  break
              }
          }
      }
      console.log('array:',array) //打印,符合条件。
   </script>
</body>
</html>删除某一元素之后, array数组长度改变,内层的for循环已经没必要继续后边的循环了。
打印结果:


![[UE][UE5]在UE中画一个线框球,网格连接画球,高阶画球并操控](https://img-blog.csdnimg.cn/83bffe4796d54301b935daa86d88be73.png)




![第四章 vi和vim 编辑器-[实操篇]](https://img-blog.csdnimg.cn/02afdab6666d4d6bb964194c2bd6c5b6.png)












