<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