数组

<!-- 1.创建数组 -->
字面量方式[]
new Array()

<!--2. 检测是否为数组 -->
instanceof 运算符  //arr instanceof Array
Array.isArray()  //Array.isArray(arr)

<!--3. 数组中有进行增加、删除元素的方法 -->
push() //末尾追加一个或多个元素   arr.push()
pop() //删除数组最后一个元素      arr.pop() 
unshift() //开头添加一个或多个元素
shift() //删除第一个元素

<!--4. 排序 -->
reverse() //颠倒排序
sort() //排序     arr.sort(function(a,b){ return b-a;}),为降序

<!--5. 数组转换为字符串 -->
toString() //把数组转换为字符串,逗号分隔每一项
join('分隔符')  //把数组中的所有元素转换为一个字符串      //join方法如果不传入参数,则按照 “ , ”拼接元素

<!--6. 操作数组 -->
concat()    // 拼接数组  //var a = [1,2,3];document.write(a.concat(4,5));
slice()   //截取数组 arrayObject.slice(start,end)
splice()   //方法向/从数组中添加/删除项目,然后返回被删除的项目。  //arr.splice(2,1,"William")  从arr[2]删1个,替换为william
filter()  //数组过滤方法创建一个新的数组  //arr.filter(item => item.num===2 )

<!-- 7.数组解构 -->
let [a, b, c] = [1, 2, 3];  //console.log(a)//1

<!-- 8.扩展运算符(展开语法) -->
let ary1 = [1, 2, 3];
let ary2 = [3, 4, 5];
...ary1  // 1, 2, 3
console.log(...ary);    // 1 2 3,相当于下面的代码

合并数组:
let ary3 = [...ary1, ...ary2];
或ary1.push(...ary2);

将类数组或可遍历对象转换为真正的数组:
let oDivs = document.getElementsByTagName('div'); 
oDivs = [...oDivs];

<!-- 9.构造函数方法:Array.from() -->
let arrayLike = {    //定义一个集合
    '0': 'a',
    '1': 'b',
    length: 2
}; 
let arr2 = Array.from(arrayLike); // ['a', 'b']   //转成数组

let arrayLike = { 
    "0": 1,
    "1": 2,
    "length": 2
}
let newAry = Array.from(arrayLike, item => item *1)  //[1,2]

<!-- 10.实例方法:find() -->
let ary = [{id: 1, name: '张三'}, { id: 2,name: '李四'}]; 
let target = ary.find((item, index) => item.id == 2);
//找数组里面符合条件的值,当数组中元素id等于2的查找出来,注意,只会匹配第一个  { id: 2,name: '李四'}

<!-- 11.实例方法:findIndex() -->
用于找出第一个符合条件的数组成员的位置,如果没有找到返回-1
let ary = [1, 5, 10, 15];
let index = ary.findIndex((value, index) => value > 9); 
console.log(index); // 2

<!-- 12.实例方法:includes() -->
判断某个数组是否包含给定的值,返回布尔值。
[1, 2, 3].includes(2) // true 

<!------------------------ 遍历数组的方法 ------------------------>
<!-- 13.数组方法forEach遍历数组 -->
arr.forEach(function(value, index, array) {
    //参数一是:数组元素
    //参数二是:数组元素的索引
    //参数三是:当前的数组
})

<!-- 14.数组方法filter过滤数组 -->
var arr = [12, 66, 4, 88, 3, 7];
var newArr = arr.filter(function(value, index,array) {
     //参数一是:数组元素
   //参数二是:数组元素的索引
   //参数三是:当前的数组
   return value >= 20;
});
console.log(newArr);//[66,88] //返回值是一个新数组

<!-- 15.数组方法some -->
some 查找数组中是否有满足条件的元素 
 var arr = [10, 30, 4];
 var flag = arr.some(function(value,index,array) {
    //参数一是:数组元素
     //参数二是:数组元素的索引
     //参数三是:当前的数组
     return value < 3;
  });
console.log(flag);//false返回值是布尔值,只要查找到满足条件的一个元素就立马终止循环

<!-- 16.最传统方法 for循环 -->
var arr = ["first",5,8];
for(var i = 0; i < arr.length;i++){
       console.log(arr[i]);
   }
   //输出:  first  5  8

<!-- 17.for…of -->
var arr = ["first",3,5];
for(var item of arr){
    console.log(item);
}
//输出结果:  first   3   5

<!-- 18.map 遍历数组 -->
//并通过callback对数组元素进行操作,并将所有操作结果放入数组中并返回该数组
var arr = ["first","second",'third' ,"fourth"];
 var arr2 = arr.map(function(item){
    return item.toUpperCase();
 })
 console.log(arr2);
 //输出: [FIRST,SECOND,THIRD, FOURTH]

 <!-- 19.every()  -->
 //当数组中的每一个元素在callback上被返回true时就返回true(注意:要求每一个单元项都返回true时才为true)
 var arr = ["first","second",'third' ,"fourth",3,5,8];
var bol = arr.every(function(element){
    if(typeof element == 'string'){
        return element;
    }
 })
 console.log(bol); //false

 <!-- 20.获取数组索引 -->
 var arr = ['red', 'green', 'pink'];
 console.log(arr.indexOf('pink'));  //2

 <!-- match() 方法 -->
 match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。
该方法类似 indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字符串的位置。
    var str="Hello world!"
    document.write(str.match("world") + "<br />")
    输出 world
  
  
posted @ 2020-10-08 22:26  sk-xm  阅读(91)  评论(0编辑  收藏  举报