js Array属性和用法

//构造函数创建数组
var arr1=new Array();
//字面量的方式
 var arr2=[];

  1、Array.isArray(对象)---->判断这个对象是不是数组

1 //判断对象是不是数组类型:两种
2     var arr1=new Array();
3     //1 instanceof
4        var obj=[];
5        console.log(obj instanceof Array);//true
6 
7     //2 使用数组的isArray
8        console.log(Array.isArray(obj));//true

 

2、Array.concat(数组,数组,数组,...) 组合一个新的数组

1 var arr1=[10,20,30];
2 var arr2=[40,50,60];
3 console.log(arr1.concat(arr2));//[10, 20, 30, 40, 50, 60]

3 、Array.every(函数)--是对数组中每一项运行给定函数,如果该函数对每一项返回true,则返回true。every从迭代开始,一旦有一个不符合条件,则不会继续迭代下去。

返回值是布尔类型,函数作为参数使用,函数中有三个参数,第一个参数是元素的值,第二个参数是索引值,第三个参数是原来的数组(没用)、如果这个数组中的每个元素的值都符合条件,最后才返回的是true

 1 var arr = [1, 2, 3, 4, 5, 6];
 2     console.log(arr.every(function (item, index, array) {
 3       console.log('item=' + item + ',index=' + index + ',array=' + array);
 4       //item是数组的值 index自动循环的值 array 自身的数组(一般没用 只用前面两项参数)
 5         return item > 0;
 6       //这里写函数的判断 只要有一个不是true就停止继续循环 只有全部函数判断结果为true才返回true
 7     }));//true
 8 
 9  var arr=["小明明lkko","小曹操674","小白白bd","笑眯眯a"];
10  var flag=arr.every(function (ele,index) {
11 //数组中的每个元素的长度是不是大于4
12     return ele.length>4;
13      });
14  console.log(flag);//false

 

 

4、Array.some()(函数)--是对数组中每一项运行给定函数,如果该函数对任一项返回true,则返回true。some一直在找符合条件的值,一旦找到,则不会继续迭代下去

1 var arr = [ 1, 2, 3, 4, 5, 6 ]; 
2 console.log( arr.some( function( item, index, array ){ 
3     console.log( 'item=' + item + ',index='+index+',array='+array ); 
4     //item是数组的值 index自动循环的值 array 自身的数组(一般没用 只用前面两项参数)
5     return item > 3; 
6     //这里写函数的判断 只要有一个是true就停止继续循环 有一个函数判断结果为true就返回true
7 })); //true

 

5、Array.filter(函数);返回的是数组中每一个元素都复合条件的元素,组成了一个新的数组

var arr = [10, 20, 30, 40, 50, 60, 70, 80];
       var newArr = arr.filter(function (ele) {//ele---每个元素
           return ele > 40;
    });
    console.log(newArr);//[50, 60, 70, 80]
    
    //可以用来去重
    var arr = [10, 0, 20, 0, 40, 0, 60, 100];
    var newArr = arr.filter(function (ele) {
      return ele != 0;
    });
    console.log(newArr);//[10, 20, 40, 60, 100]

 

6、Array.push(值);--->把值追加到数组中,加到最后了---返回值也是追加数据之后的数组长度(重点+++)

var arr =[10,20,30];
console.log(arr.push(40));//返回值是 增加后的数组涨肚
console.log(arr);//[10, 20, 30, 40]

 

7、Array.pop();--->删除数组中最后一个元素,返回值就是删除的这个值(重点+++)

var arr =[10,20,30,40];
console.log(arr.pop());//返回值是删除的值
console.log(arr);//[10, 20, 30]

 

8、Array.shift();--->删除数组中第一个元素,返回值就是删除的这个值(重点+++)

var arr =[10,20,30,40];
console.log(arr.shift());//返回值是删除的值
console.log(arr);//[ 20, 30,40]

 

9、Array.unshift();--->向数组的第一个元素前面插入一个新的元素,----返回值是插入后的程度(重点+++)

var arr=[10,20,30,40,50];
var result=arr.unshift(5);
console.log(result);//返回现在的长度
console.log(arr);//[5,10,20,30,40,50]

 

10、Array.forEach(函数)方法---遍历数组用---相当于for循环

var arr = [10, 20, 30, 40];
   arr.forEach(function (ele,index) {
     console.log("数组的值:"+ele+'----'+"自迭代的值:"+index);
   });
      // 数组的值:10----自迭代的值:0
      // 数组的值:20----自迭代的值:1
      // 数组的值:30----自迭代的值:2
      // 数组的值:40----自迭代的值:3

 

11、Array.map(函数);--->数组中的每个元素都要执行这个函数,把执行后的结果重新的全部的放在一个新的数组中

function f1(a) {
      return Math.pow(a, 2);
    }
var arr = [1, 2, 3, 4, 5];
console.log(arr.map(f1));//[1, 4, 9, 16, 25]

 

12、Array.indexOf(元素值);返回的是索引,没有则是-1

var arr=[10,20,30,40];
console.log(arr.indexOf(10)); // 返回对于字符串的索引
console.log(arr.indexOf(50));//找不到就返回-1

 

13、Array.join("字符串");----数组中每个值与字符串拼接 返回的是一个字符串

var arr=["小白","小黑","小红","小芳","小绿","小苏"];
var str=arr.join("|");
console.log(str);//小白|小黑|小红|小芳|小绿|小苏

 

14、Array.reverse();----->反转数组

var arr=[10,20,30,40,50];
arr.reverse();//反转
console.log(arr);//[50, 40, 30, 20, 10]

 

15、Array.sort();---排序的,可能不稳定,如果不稳定,请写MDN中的那个固定的代码(自行MDN)

 

16、Array.arr.slice(开始的索引,结束的索引);把截取的数组的值放在一个新的数组中,但是不包含结束的索引对应的元素值

var arr=[10,20,30,40,50,60,70,80,90,100];
var newArr= arr.slice(3,7);
console.log(newArr);// [40, 50, 60, 70]

 

17、Array.splice(开始的位置,要删除的个数,替换的元素的值);一般是用于删除数组中的元素,或者是替换元素,或者是插入元素(重点++)

var myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];
myFish.splice(2, 0, 'drum'); // 在索引为2的位置插入'drum'
console.log(myFish);//["angel", "clown", "drum", "mandarin", "sturgeon"]

myFish.splice(2, 1); // 从索引为2的位置删除一项(也就是'drum'这一项)
console.log(myFish);//["angel", "clown", "mandarin", "sturgeon"]

 

 

posted @ 2019-03-12 08:05  py-小白  阅读(3709)  评论(0编辑  收藏  举报