Properties and methods of operation (an ArrayBuffer) normal array (find (), indexfind (), some (), every ())

<!DOCTYPE html>
<html lang="en">
 
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>普通数组的操作方法和属性</title>
</head>
 
<body>
    <script>
        const inventory = [
            { name: 'apples', quantity: 2 },
            { name: 'bananas', quantity: 22 },
            { name: 'cherries', quantity: 222 },
        ];
 
 
        /*
        .find()
        find()函数用来查找目标元素,找到就返回该元素(下面如果还有内容将不会再执行),
        找不到返回undefined。
        */
        //正常写法
        const bananas = inventory.find(fruit => {
            console.log(fruit)//{name: "apples", quantity: 2}{name: "bananas", quantity: 22}
            if (fruit.name == 'bananas') {
                return true
            }
            return false
        })
        console.log(bananas)//{name: "bananas", quantity: 22}
        //缩写
        const bananas2 = inventory.find(fruit => fruit.name === 'bananas')
        console.log(bananas2)//{name: "bananas", quantity: 22}
 
 
        const bananas1 = inventory.find(fruit => {
            if (fruit.name == 'watermelon') {//注意:watermelon在inventory数组里面是不存在的
                return true
            }
            return false
        })
        console.log(bananas1)//undefined
 
 
        /*
        .findIndex()
        findIndex()函数也是查找目标元素,找到就返回元素的位置,找不到就返回-1。
        */
        //inventory数组对象中存在bananas
        const bananasIndex = inventory.findIndex(fruit => fruit.name === 'bananas')
        console.log(bananasIndex)//1
 
        // //inventory数组对象中不存在bananas
        const bananasIndex1 = inventory.findIndex(fruit => fruit.name === 'noBananas')
        console.log(bananasIndex1)//-1


        /*
        .some()
        some() 方法测试是否至少有一个元素可以通过被提供的函数方法。
        该方法返回一个Boolean类型的值。
        */
        const isEnough=inventory.some(fruit=>{
            return fruit.quantity>200
        })
        console.log(`isEnough:${isEnough}`)//true

        //注意some()会从你提供的数据中,从上到下依次执行,
        //最先找到符合的数据然后下面的数据将不会再执行。
        const isEnough1=inventory.some(fruit=>{
            console.log(fruit.quantity)//2 22
            return fruit.quantity>20
        })
        console.log(`isEnough:${isEnough1}`)//true


        /*
        .every()
        every() 方法测试一个数组内的所有元素是否都能通过某个指定函数的测试。
        它返回一个布尔值。
        */
        const isAllEnough=inventory.every(fruit=>{
            return fruit.quantity>200
        })
        console.log(`isAllEnough:${isAllEnough}`)//false
        //注意every()会从你提供的数据中,从上到下依次执行,
        //最先找到符合的数据然后下面的数据将不会再执行。
        const isAllEnough1=inventory.every(fruit=>{
            console.log(fruit.quantity)//2
            return fruit.quantity>200
        })
        console.log(`isAllEnough1:${isAllEnough1}`)//false

 
    </script>
</body>
 
</html>

 

Guess you like

Origin blog.csdn.net/JEFF_luyiduan/article/details/94127252