zoukankan      html  css  js  c++  java
  • JS 数组

    1:数据的声明,有三种方式

    • var array=[] 推荐方式
    • var array=new Array()
    • var array=[1,2,3,4,5]
    • Array.isArray(array) 检查是否是数组

    2:数组的读写

    var array=[];
    for(var i=0,i<10,i++){
        array[i]=i;
    }
    

    3:由字符串生成数组

    var str="aaa,bbb,ccc,dddd";
    var arr=str.split(',');
    

    4:对数组的整体性操作

    • 浅复制,是对原数组的引用,原数组变内容变换,新数组也会跟着变化
    var array =[1,2,3,4,5];
    var newArray=array;
    array[1]=10;
    print(newArray[1]) 10
    
    • 深复制,将原数组每一个元素都重新赋值一遍
    function copy(old,newA){
        for (var i=0;i<old.length;i++){
            newA[i]=old[i];
        }
    }
    

    5:数组的方法

    • 1:indexOf 返回该该元素所在数组的位置
    var array=[1,2,3,4,5]
    array.indexOf(1)
    
    • 2:join 将数组转换为字符串,类同toString();
    array.join(',') //1,2,3,4,5
    
    • 3:concat 合并多个数组创建一个新数组
    var array=[11,22,33],array1=[3,4,5];
    var newArray= array.concat(array1);
    
    • 4:splice() 从现有数组里面截取新的数组 第一个为起始索引,第二个为截取的长度
    var array=[1,2,3,4,5]
    var newArray=array.splice(1,3); result:2,3,4
    

    6:数组元素的添加删除

    • push 将一个元素添加到数组末尾
    var array=[1,2,3,4];
    array.push(5);
    print(array) 1,2,3,4,5
    
    • unshift 将一个元素添加到数组的头部
    var array=[1,2,3,4,5];
    array.unshift(5);
    print(array) 5,1,2,3,4
    array.unshift(7,6);
    print(array) 7,6,5,1,2,3,4
    
    • pop删除数组末尾的元素
    var array=[1,2,3,4,5];
    array.pop();
    print(array) 1,2,3,4
    
    • shift 删除数组的第一个元素
    var array=[1,2,3,4,5];
    array.shift();
    print(array) 2,3,4,5
    
    • splice 从数组中添加和删除元素
    var array=[1,2,3,4,5];
    
    • splice 添加元素 有三个参数

    1: 起始索引,你想添加的位置
    2: 需要删除元素的个数 此处为0
    3: 添加进数组的元素

    var array=[1,2,3,4,5];
    array.splice(2,0,7,8);
    print(array) 1,2,7,8,3,4,5
    
    • splice 删除元素

    1:起始位置
    2:要删除元素的个数

    var array=[1,2,3,4,5];
    array.splice(3,2);
    print(array); 1,2,5;
    
    • reverse 倒序排列
    var array=[1,2,3,4,5];
    array.reverse(); 5,4,3,2,1
    
    • sort 默认字符串 按照英文字母排序,可以传入一个比较函数
    var array=["aa","cc","bbb"];
    array.sort(); aa,bbb,cc;
    array.sort(function(num1,num2){
        return num1-num2
    });
    

    7:数组的迭代器方法

    • 1 :不生成新数组的迭代器

    forEach() 遍历数组元素

    var array=[12,3,4,5];
    array.forEach(function(){
    
    });
    

    every() 遍历数组,对于所有元素都返回true的情况才会返回true,否则返回false;

    var array=[1,0,-1];
    array.every(function(item){
        return item;
    })
    false;
    

    some() 遍历数组,对于所有元素有一个返回true,那么结果就返回true;

    var array=[1,2,3,4,0];
    array.some(function(item){
        return item;
    })
    true;
    

    reduce() 将每一个元素进行累加,最后返回累加的值(从左往右累加) reduceRight() 从右往左累加

    var array=[1,2,3,4,5];
    var result= array.reduce(function(item,next){
        return item+next;
    })
    print(result) 15;
    
    • 2:生成新数组的迭代器

    map() 类同于forEach() ,返回的新数组是由每一个元素处理得来

    var array=[1,2,3,4,5];
    var result= array.map(function(item){
        return item*10;
    })
    print(result) 10,20,30,40,50
    

    filter() 类同于every(),也是返回一个布尔元素,如果为true,返回该元素

    var array=[1,2,3,4,5];
    var result= array.filter(function(item){
        return item>3;
    })
    print(result) [4,5];
    

    8:二维数组和多维数组

    二维数组和多维数组

    var array=[];
    array[1]=[1,2,3];
    print(array[1][1])'
    

    9:对象数组

    var array=[{id:1,name:11},{id:2,name:222}];
    
  • 相关阅读:
    Property总结
    静态类和 关于什么时候使用“静态方法”
    最简单的MVVM结构(学习)
    依赖属性和附加属性1(转载)
    Nested & Access modifiers
    Template methord
    WPF 绑定及惯用法(一) 转载自loveis715
    关于Property赋值
    Different Binding RelativeSource Mode
    依赖属性和附加属性2(转载)
  • 原文地址:https://www.cnblogs.com/dark-liu/p/5783208.html
Copyright © 2011-2022 走看看