4.1 indexOf

  1. <script>
  2. var arr =[1,2,3,4,5];
  3. console.log(arr.indexOf(3));
  4. // slice(startIndex,endIndex) 从startIndex(不包括它本身)开始,到endIndex结束
  5. console.log(arr.slice(1,3))
  6. </script>
  7. <script>
  8. var arr= ["html","css"];
  9. /* indexOf arr.indexOf(value) 获取数组的下标 获取不到返回-1*/
  10. console.log(arr.indexOf("js")); //return -1;
  11. console.log(arr.indexOf("css")) //return 1;
  12. </script>

4.2 fillter

filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
注意: filter() 不会对空数组进行检测。
注意: filter() 不会改变原始数组。

  1. var ages = [32, 33, 16, 40];
  2. function checkAdult(age) {
  3. return age >= 18;
  4. }
  5. function myFunction() {
  6. document.getElementById("demo").innerHTML = ages.filter(checkAdult);
  7. }

4.3 find

find() 方法返回通过测试(函数内判断)的数组的第一个元素的值。
find() 方法为数组中的每个元素都调用一次函数执行:

  • 当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数。
  • 如果没有符合条件的元素返回 undefined

注意: find() 对于空数组,函数是不会执行的。
注意: find() 并没有改变数组的原始值。

var ages = [3, 10, 18, 20];

function checkAdult(age) {
    return age >= 18;
}

function myFunction() {
    document.getElementById("demo").innerHTML = ages.find(checkAdult);
}
fruits

4.4 every&some

every:数组中是否每个元素都满足指定的条件
some:数组中是否有元素满足指定的条件
一言以蔽之:Some: 一真即真;Every: 一假即假
every:

var ages = [32, 33, 16, 40];
function checkAdult(age) {
    return age >= 18;
}
function myFunction() {
    document.getElementById("demo").innerHTML = ages.every(checkAdult);
}
//返回false

some:

var ages = [3, 10, 18, 20];
function checkAdult(age) {
    return age >= 18;
}
function myFunction() {
    document.getElementById("demo").innerHTML = ages.some(checkAdult);
}
//返回true

4.5 includes

let site = ['runoob', 'google', 'taobao'];

site.includes('runoob'); 
// true 

site.includes('baidu'); 
// false

todoList查重

    <!-- todoList -->
    <input type="text" id="input">
    <ul id="app"></ul>
    <script>
        var input = document.getElementById("input");
        var app = document.getElementById("app");
        var arr = [];
        input.onkeydown = function (event){
            if(event.keyCode == 13){
                // indexOf arr.indexOf(value)  获取数组的下标  当没查找到value时,返回-1。
                if(arr.indexOf(this.value) == -1&&this.value !=""){
                    arr.push(this.value);
                    console.log(arr);

                    // 直接输出输入的值
                    var li = document.createElement("li");
                    li.innerHTML = this.value;
                    app.append(li);
                }
            }
        }
    </script>