数组的操作

 <script>
        const list = [{
                id: 1,
                name: "刘备"
            },
            {
                id: 2,
                name: "关羽"
            },
            {
                id: 3,
                name: "张飞"
            },
            {
                id: 9,
                name: "孙权"
            },
            {
                id: 4,
                name: "诸葛亮"
            },
            {
                id: 6,
                name: "郭嘉"
            },
            {
                id: 7,
                name: "张辽"
            },
            {
                id: 8,
                name: "荀令君"
            },
            {
                id: 10,
                name: "周瑜"
            },
            {
                id: 14,
                name: "张颌"
            },
            {
                id: 11,
                name: "诸葛恪"
            },
            {
                id: 5,
                name: "曹操"
            },
            {
                id: 12,
                name: "司马懿"
            },
            {
                id: 13,
                name: "司马昭"
            },
            {
                id: 15,
                name: "司马师"
            },
        ]

        // 找到id为5的名字
        // console.log(list.find(function (item,index){
        //     return item.id === 5
        // }).name)

        // 1. 如果函数的参数只有一个的话,括号可以不写
        // 2. 如果函数体只有一行代码的话,函数的大括号也可以不写,默认返回这一行代码的值
        // console.log(list.find(item => item.id === 5).name);
        console.log(list.find(({id}) => id === 5).name);
        // console.log(list.find(item => item.id === 5).name);

        // 找到名字是郭嘉的索引
        console.log(list.findIndex(item=>item.name=="郭嘉"));

        // 找到所有姓张的人数组
        console.log(list.filter(item=>item.name.startsWith("")));

        // 找到包含葛字的人的数组
        console.log(list.filter(item => item.name.includes("")));
        // 找到所有包含司马的人的id数组
        // map的api。 基于现有的数组生成一个新的数组,新的数组中的每一项,就是回调函数中返回的值
        console.log(list.filter(item => item.name.includes("司马")).map(item=>item.id));

        // 判断数组中是否存在贾诩
        // some 如果有一个满足条件就返回true,否则返回false
        console.log(list.some(item => item.name === '关羽'));

        // 判断数组中是否所有人的id都大于14
        console.log(list.every(item => item.id < 20));
        

        let obj = {
            id:123,
            name:"张三",
            age:24
        }


        // 新的对象
        let obj1 ={
            ...obj,
            age:18
        }

        console.log(obj1);

        // 箭头函数的this指向和function函数的this指向有什么区别
        //  1. 箭头函数this指向定义它的地方
        //  2. function 函数this指向调用它的地方
    </script>
原文地址:https://www.cnblogs.com/guirong/p/13605130.html