zoukankan      html  css  js  c++  java
  • 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"]
  • 相关阅读:
    MAVEN学习-第一个Maven项目的构建
    MAVEN学习笔记-maven的获取和安装
    Hibernate中的锁机制
    java进阶之反射:反射基础之如何获取一个类以及如何获取这个类的所有属性和方法(2)
    java进阶之反射:反射基础之如何获取一个类以及如何获取这个类的所有属性和方法(1)
    java中的文件读取和文件写出:如何从一个文件中获取内容以及如何向一个文件中写入内容
    开篇:勇敢踏上这第一步
    有关嵌入式linux的注意点总结
    《nodejs开发指南》微博实例express4.x版
    JavaScript中的数据类型转换
  • 原文地址:https://www.cnblogs.com/wanguofeng/p/10514350.html
Copyright © 2011-2022 走看看