<script type="text/javascript">
// 判断数组当中是否拥有某个元素,如果有返回true,如果没有返回false
let ary = ["a", "b", "c"];
let result = ary.includes('a')
console.log(result) // true 包含
result = ary.includes('e')
console.log(result) // false 不包含
//includes() 表示某个数组是否包含给定的值,返回布尔值
console.log('------------')
let lao = ary.indexOf('a')
console.log(lao) // 0 包含
let lao1 = ary.indexOf('e')
console.log(lao1) // -1 不包含
</script>
<script type="text/javascript">
// // 用于找出第一个符合条件的数组成员的位置,如果没有找到返回-1
let ary = [10, 20, -11, 50, 30, 100];
let index = ary.findIndex(item => item > 15);
console.log(index) // 1
let index1 = ary.findIndex(item => item > 99);
console.log(index1) // 5
let index2 = ary.findIndex(item => item < -10)
console.log(index2) // 2
// 用于找出第一个符合条件的数组成员的位置,如果没有找到返回-1
</script>
<script type="text/javascript">
var ary = [{
id: 1,
name: '张三'
}, {
id: 2,
name: '李四'
}];
let target = ary.find(item => item.id == 2);
console.log(target) // {id: 2, name: '李四'}
// find() 用于找出第一个符合条件的数组成员,如果没找到返回undefined,找到就返回这个对象
</script>
<script type="text/javascript">
var arrayLike01 = {
"0": "张三",
"1": "李四",
"2": "王五",
"length": 3 // //必须要指定长度
}
var ary01 = Array.from(arrayLike01);
console.log(ary01) // ['张三', '李四', '王五']
console.log('----------------------------------')
var arrayLike = {
"0": "1",
"1": "2",
"length": 2 //必须要指定长度
}
var ary = Array.from(arrayLike, item => item * 2)
console.log(ary) // [2, 4]
</script>
<script type="text/javascript">
// 数组解构允许我们按照一一对应的关系从数组中提取值 然后将值赋值给变量
let ary = [1, 2, 3];
let [a, b, c, d, e] = ary;
console.log(a) //1
console.log(b) //2
console.log(c) //3
console.log(d) //undefined
console.log(e) //undefined
console.log("------------------");
let [f, j, h, L] = [6, 4, 3]
console.log(f); //6
console.log(j); //4
console.log(h); //3
console.log(L); //undefined
</script>
<script type="text/javascript">
// 对象解构允许我们使用变量的名字匹配对象的属性 匹配成功 将对象属性的值赋值给变量
let person = {name: 'lisi', age: 30, sex: '男'};
let { name, age, sex ,xiebie} = person; //左边大括号里面的变量名必须与对象里面的属性名名字相同才能拿到解构对象里面的属性值
console.log(name) // lisi
console.log(age) //30
console.log(sex) //男
console.log(xiebie) //undefined
let {name: myName} = person; //把解构出来的属性换个名字取别名
console.log(myName) // lisi
// 对象解构 在等号的左边用大括号表示大括号里面变量的名字就是对象解构对象的属性名, 在等号的右边写具体被解构的对象
let {name:newname, age:newage} = {name: 'ppc', age: 21, sex: '男'};
console.log(newname); //ppc
console.log(newage); // 20
</script>
<script type="text/javascript">
let arr = [];
console.log(arr) // []
console.log(arr[0]) //undefined
for (let i = 0; i < 2; i++) {
arr[i] = function () {
console.log(i);
}
}
arr[0](); // 0
arr[1](); // 1
</script>