判断这个对象是不是数组:
    Array.isArray(对象)
    instenceof关键字
    当检测Array实例时, Array.isArray 优于 instanceof,因为Array.isArray能检测iframes

    方法:
    .concat(数组,数组,数组……)组成一个新的数组
    .every(函数)——>返回值是布尔类型,函数作为参数使用,函数中有三个参数,第一个参数是元素的值,第二个参数是索引值,第三个参数是原来的数组(没用)
    如果这个数组中的每个元素的值都符合条件,最后才返回的是true
    var arr2=[1000,2000,3000];
    // a—->元素的值
    // b—->索引的值
    // c—->谁调用这个方法,那么c就是谁—->arr2
    var flag=arr2.every(function(a,b,c){
    console.log(a+”===”+b+”===”+c);
    return a>2000;
    });//1000===0===1000,2000,3000

    .filter(函数)返回的是数组中每一个元素都符合条件的元素,组成一个新的数组
    var flag1=arr2.filter(function(element){
    return element>1000;
    });
    console.log(flag1);//Array [ 2000, 3000 ]
    .push(值)—->把值追加到数组中的末尾——>返回值也是追加数据之后的数组长度
    .pop()——>删除数组中的最后一个元素,返回值就是删除的这个值
    .shift()——>删除数组中的第一个元素,返回值就是删除的这个值
    .unshift()——>向数组的第一个元素前面插入一个新的元素,返回值是插入后的长度
    .forEach(函数)方法——>遍历数组用——>相当于for循环 console.log(arr2.forEach(function(element,index,arr){
    console.log(“arr2[“+index+”]”+”=”+element);
    }));
    /arr2[0]=5000 array
    arr2[1]=2000 array
    arr2[2]=3000 array
    undefined
    /
    .indexOf()返回的是索引,没有则是-1
    .join(“字符串”)返回的是一个字符串
    .map(函数)——>数组中的每个元素都要执行这个函数,把执行后的结果重新全部放在一个新的数组 console.log(arr2.map(function(element){
    return element*2;
    }));//Array(3) [ 10000, 4000, 6000 ]
    .reverse()——>反转数组
    .sort()——>排序,可能不稳定,如果不稳定,写下MDN中的那个固定代码
    var arr3=[2,5,1,15,33,9,105];
    console.log(arr3.sort(function compare(a, b) {
    if (a < b ) { // 按某种排序标准进行比较, a 小于 b
    return -1;
    }
    if (a > b ) {
    return 1;
    }
    // a must be equal to b
    return 0;
    }));//Array(7) [ 1, 2, 5, 9, 15, 33, 105 ]
    .arr.slice(开始的索引,结束的索引)——>把截取的数组的放在一个新的数组中,但不包含结束索引对应的元素值
    .splice(开始的位置,要删除的个数,替换的元素的值)——>一般是用于删除数组中的元素,或是替换元素,或是插入元素