数组

数组


定义:Array 一组数据的有效列表

一:创建数组

1.字面量方式 let art1=[]; 2.构造函数方式 let art2=new Array[];

二:创建并初始化

let arr3=[1,'hello',654561,flase];

三:下标(索引):数组中每个元素的位置

  • 查看

    console.log(arr3[1]);
    
  • 增加

    arr3[3]='world';
    console.log(arr3[3]);
    
  • 修改

    arr3[1]='world';
    console.log(arr3[1]);
    
  • 删除(只删除元素,不删除位置)

    delete arr3[2];
    console.log(arr3);
    

四:多维数组

let arr4=['a','b',['hello']];
console.log(arr4[2][0]);//hello

五:数组的扩展 ES6

1,扩展运算符...

  • 复制数组

    let arr1=['a','b','c','d'];
    let arr2=[...arr1];
    console.log(arr2);//['a','b','c','d']
    
  • 合并数组

    let arr1=['a','b','c','d'];
    let arr2=['1','2','3'];
    let arr3=[...arr1,...arr2]
    console.log(arr3);//['a','b','c','d''1','2','3']
    
  • 将字符串转换成数组

    let str='hello';
    let arr=[...str];
    console.log(arr);//['h''e''l''l''o']
    

2,数组的解构 ES6

原理:让赋值符号左右两边保持结构,按对应位置,将数值赋值给变量

  • 获取数组中的每一个值

    let arr=['hello','123','flase']
    [a,b,c]=arr;
    console.log(b);//123
    
  • 交换两个变量的值

    let a=1;
    let b=2;
    [a,b]=[b,a];
    console.log(a,b);//2 1
    
  • 解构的默认值

    let [a=1,b=2]=[];
    console.log(a,b);//1 2
    

数组的属性和方法

一)属性

length
let arr=['a','b','c','d']
console.log(arr.length);//4

arr.length=10;长度可以更改
arr.length=0;清空数组
console.log(arr[arr.length-1]);//d 获取最后一个元素

二)方法

  • push(); 向数组的末尾添加一个或者多个元素,并返回删除的元素

    arr.push('a','b');
    
  • pop();删除数组中的最后一个元素,并返回删除的元素

    arr.pop();
    console.log(arr.pop());//返回删除的元素
    
  • unShift();向数组的第一元素个前面添加元素,并返回输入的元素

    console.log(arr.unshift('1','2'));//返回输入的元素
    
  • shift();删除并返回第一个元素

    console.log(arr);//返回第一个元素
    
  • splice();从数组中添加或者删除元素

    let arr=['a','b','c','d']
    arr.splice(1,0,'321');
    第一个位置:下标
    第二个位置:删除的个数
    第三个位置往后:添加或者删除的数据
    
  • indexOf(); lastIndexOf();通过元素找到在数组中的位置
  • slice(); 截取某一段元素(不包含结束)

    console.log(arr.slice(1,3));//['b','c']
    
  • concat(); 合并

    let arr2=[1,2,3]
    console.log(arr1.concat(arr2));
    
  • join(); 将数组的每一个元素通过指定的符号拼接成字符串

    console.log(arr.join('+'));//a+b+c+d
    console.log(arr.join(' '));//abcd
    
  • 排序

    reverse

    let arr=['a','b','c','d']
    console.log(arr.reverse());//['d','c','b','a']
    

    sort

    lat arr=[3,5,18,7,0]
    arr.sort(function(a.b){
    return a-b;}
    );
    console.log(arr);//[0,3,5,7,18]
    
    若排序的时候不调用函数,会隐性将数字转换为字符串进行比较,由于字符串的比较大小是一个一个比的,导致结果不准确。
    

集合

Set ES6新增

特点:类似于数组,成员都是唯一的,没有重复值

一 创建Set

let s=new Set(['a','b','c']);
console.log(s);// Set{'a','b','c'}

二 Set的属性和方法

属性)

size  长度
cosole.log(s.size);//3

方法)

1   add   添加(向末尾)
    s.add('e'); //向集合的末尾添加一个元素'e'
    s.add('e').add('f').add('g');//向集合的末尾添加多个

2   delete();   删除(不会保留原有位置)
    s.delete('f');

3   has()   查看是否存在某个数据
    s.has('f');

4   clear();   清空所有数据
    s.clear();

三 与数组的相关操作

1) Set转换为数组

let s=new Set(['a','b','c']);
let arr=[...s];
console.log(arr);

2) 数组去重 判断时会是严格判断

lat arr=[1,2,3,1,2,5];
let s=new Set(arr);
arr=[...s];
console.log(arr);//[1,2,3,5]

映射

Map 类似于JSON式对象 特点 :键名可以是任意数据类型(ISON式对象的键名只能是字符串)

创建Map

let m = new Map();

let m = new Map([['name','马冬梅']['age','19']]);
console.log(m);//Map{'name'→'马冬梅','age'→'19'};

二 属性和方法

属性)

size 长度
console.log(m.size);//2

方法)

1   Set();添加或修改数据
    m.Set('gender','女');//添加
    m.Set('age','18');//修改
2   get();获取数据
    m.get('name');
    console.log('name');//马冬梅
3   has();查看是否存在某个数据
4   delete();删除 ()里输入的是键名
5   clear();清空

三 与数组相互转换

1   let arr=[...m];//映射转数组
2   let m=new Str(arr);//数组转映射
posted @ 2018-05-20 16:59  小王同学192  阅读(94)  评论(0编辑  收藏  举报