JS10-数组的操作方法(索引下标、unshift、push、shift、pop、splice、sort、reverse、concat、join、split)

unshift、push、shift、pop、splice、sort、reverse、concat、join、split

一.通过索引下标来操作数组

1,通过索引下标,调用数组中,指定单元的数据

var arr = ['北京','上海','广州','重庆','天津'];
arr[0] ---> 调用索引下标是 0 ,实际是第一个单元的数据 北京

2,通过索引下标,来修改数组中,存储的单元的数据
对已存在的索引下标,进行赋值,进行的是重复赋值,会覆盖之前存储的数据
arr[0] = ‘武汉’;
console.log(arr);

3,通过索引下标,来新增数组的单元
对不存在的索引下标,进行赋值,是新增数组单元的操作

连续索引 
    arr[5] = '郑州';

间隔索引
    arr[100] = '瞎写的';

    console.log(arr);
    console.log(arr[50]);   →   undefined

4,通过索引下标,来删除数组的单元
定义数组的length长度属性,通过定义数组的单元个数,来删除数组的单元
只能是从数组的结尾处开始删除单元,不能从数组的起始开始删除单元
一般不使用,除非是一定要限制数组长度

arr.length = 100;
arr.length = 6;

console.log(arr);

在这里插入图片描述

二.向数组中新增或者删除单元及其返回值

unshift() 起始新增,可以是一个或者多个
push() 结束新增,可以是一个或者多个
shift() 起始删除,只能是一个
pop() 结束删除,只能是一个

总结: 新增可以是一个或者多个
删除一次只能一个

1.新增单元 --- 数组的起始 数组的结束
数组变量.unshift(新增的数据) 在数组的起始位置新增单元
数组变量.unshift(数据1,数据2,数据3…) 可以新增多个单元,之间使用逗号间隔
当写多个数组变量新增时,书写的 从 下到上 在数组中的排序是 从左到右
新增的单元可以是任意JavaScript支持的数据类型

数组变量.push(新增的数据) 在数组的结束位置新增单元
数组变量.push(数据1,数据2,数据3…) 可以新增多个单元,之间使用逗号间隔
当写多个数组变量新增时,书写的 从 下到上 在数组中的排序是 从右到左
新增的单元可以是任意JavaScript支持的数据类型
push()是最常用的数组方法,用于向数组中添加内容

var arr = ['北京','上海'];
arr.unshift('武汉');
arr.unshift('武汉加油','武汉棒棒哒');
arr.unshift([1,2,3,4,5]);
arr.unshift(function fun(){console.log(123)});
arr.unshift( {name:'张三'} );


arr.push('武汉');
arr.push('武汉加油','武汉棒棒哒');
arr.push([1,2,3,4,5]);
arr.push(function fun(){console.log(123)});
arr.push( {name:'张三'} );

2.从数组中删除单元

数组.shift(什么都不要写,写了也没用) 只能删除起始的第一个单元
数组.pop(什么都不要写,写了也没用) 只能删除结束的最后一个单元

arr.shift();

arr.pop();

console.log(arr);

3.数组操作方法(新增或删除单元)的返回值

unshift() push() shift() pop()
功能是操作数组, 返回值是 定义在这写函数内部的return

unshift() push() 新增单元操作,返回值都是新增单元之后,数组新的长度,也就是length属性值
shift() pop() 删除单元操作,返回值都是删除单元存储的数据信息
删除单元,也称为 抛出 释放 消除

var arr = [1,2,3,4,5];

定义一个变量,来存储返回值,当然也可以直接输出操作
操作之后,新增单元执行,数组新的长度

  var res1 = arr.unshift('北京');
    var res2 = arr.push('北京');

    console.log(arr);
    console.log(res1);  →  6
    console.log(res2);  →  7

删除操作shift 、pop,返回值是删除单元的数据信息

var res3 = arr.shift();
console.log(res3);  →   北京

三.截取数组的指定单元 / 删除数组的指定单元及其返回值

var arr = ['北京','上海','广州','重庆','天津'];

删除广州重庆

方法1,从结束位置删除 3个单元
之后再把 天津 添加上

方法2, 数组.splice()
参数1: 删除起始单元的位置—索引下标
参数2: 从起始单元开始,删除单元个数—删除几个单元
参数3: 在删除的位置上,插入的新的数据
替换插入的数据,可以不写,也可以是一个,也可以是多个,多个单元之间使用逗号间隔
其内容可以是任意JavaScript支持的数据类型

从索引下标是2,也就是第三个单元开始,删除2个单元
操作结果返回值是 删除单元组成的存储的数据信息

  var res = arr.splice(2,2);

    console.log(arr);
    console.log(res);

如果只写一个参数,是从删除位置开始,删除之后所有的单元,包括起始位置单元

 arr.splice(2);

如果不写参数,没有效果的

 arr.splice();

写三个单元执行效果类似于替换操作
从索引下标是2,实际是第三个单元开始,删除2个单元(包裹索引2的单元)
然后替换插入数据 武汉 , 加油

var res2 = arr.splice(2,2,'武汉','加油');

console.log(arr);
console.log(res2);

四.数组的排序方法

将数组中的数据按照数值大小来进行排序

数组.sort() 默认按照首位数值排序,不是数值的实际大小
数值.sort( function(a,b){return a-b} ) 按照数值的实际大小排序 — 从小到大
数值.sort( function(a,b){return b-a} ) 按照数值的实际大小排序 — 从大到小

var arr = [3,21,3215432,321321,32,43,5,34,43,23,32543,1234,45,321,14,234,4];

数组的排序方法,默认按照首位数值排序,不是数值的实际大小

arr.sort();

从小到大的固定语法形式

arr.sort( function(a,b){return a-b} )

从大到小的固定语法形式

arr.sort( function(a,b){return b-a} )

console.log(arr);

五.数组的反转

数组.reverse();
数组的反转 会改变原始数组的内容

比如在新闻信息展示中,将数据库中,数组最后的最新的消息,反转到最上方先显示

var arr = ['北京','上海','广州','重庆','天津'];

arr.reverse();

console.log(arr);   →  原数组倒着写

六.数组的拼接

数组1.concat(数组2)
将两个数组,拼接为一个数组
将来两个数组的数据内容进行拼接

var arr1 = [1,2,3,4,5];
var arr2 = ['北京','上海','广州','重庆','天津'];

var arr3 = arr1.concat(arr2);
console.log(arr3);

七.数组和字符串的转化

数组.join() 不会改变原始数组的内容
返回值是字符串类型,内容是数组中每个单元存储的数据信息,默认使用逗号间隔
遵守其他数据类型转化为字符串类型的自动转化原则

var arr = ['北京','上海','广州','重庆','天津',true,false,100,[1,2,3,4],{name:'张三'},function fun(){}];

默认逗号间隔

  var res1 = arr.join();

设定间隔符号

 var res2 = arr.join('-');   

没有间隔符号,设定空字符串作为间隔

 var res3 = arr.join('');  
console.log(arr);
console.log(res1);
console.log(res2);
console.log(res3);

八.字符串转化为数组

将字符串,切割,存储为数组的形式
字符串.split 不会改变原始字符串
返回值是: 按照字符串,转化为的数组
语法1:不定义参数,将字符串整个转化为数组的一个单元
语法2:定义参数为’’ 空字符串 将每个字符,转化为一个单元
语法3:可以按照特定的间隔符号来分割字符串
存储单元数据内容中,没有间隔符号
语法4:设定第二个参数,是设定数组的单元个数,也就是length长度
一般是不写的

按照间隔符号 - 减号来分割字符串,存储成数组形式
并且设定数组为3个单元成都

var str1 = '北京-上海-广州-天津-重庆';
    var res4 = str1.split('-' , 3);
    console.log(res4);

复习

数组的操作方法
1,索引下标操作
数组[索引下标] 获取索引下标中存储的数据
数组[索引下标] = 数值;
如果索引下标已存在,是赋值修改操作
如果索引下标不存在,是新增单元操作
2,length属性
数组的长度,也就是单元个数
数组.length 获取数组中长度的属性
数组.length = 数值 设定数组长度,可以删除多余的单元
数组.length -1 是最后一个单元的索引下标
3,数组的常用操作方法
使用的是JavaScript给我们封装好的函数

	(1) 新增和删除
        unshift   首位新增
        push      末位新增
            新增可以是一个或者多个单元,返回值是操作之后,数组新的长度
        
        shift     首位删除
        pop       末位删除
            删除一次执行删除一个单元,返回值是删除单元,存储的数据

    (2) 截取/替换
        数组.splice()
            语法1 : 不定义参数,无效果
            语法2 : 定义一个参数
                    从定义的索引下标开始(包括),截取之后所有的单元
            语法3 : 定义两个参数
                    从定义的索引下标开始(包括),截取设定个数的单元
            语法4 : 定义三个参数
                    从定义的索引下标开始(包括),截取设定个数的单元
                    使用定义的数据替换
                    定义的数据,可以是一个或者多个,支持所有JavaScript数据类型
        返回值 : 是截取的单元内容
        
    (3) 排序
        数组.sort()    默认按照首字符串大小排序
        数组.sort(function(a,b){return a-b})    按照数值,从小到大排列
        数组.sort(function(a,b){return b-a})    按照数值,从大到小排列

    (4) 其他方法
        数组.reverse()  倒序,影响原来的数组
        数组.join()     数组转化字符串,不会影响原来数组
        字符串.split()  字符串转数组,不会影响原来数组
        数组.concat()    数组拼接

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScript数组有很多内置方法,可以操作和处理数据。以下是JavaScript数组的所有方法列表: 1. `concat()` - 连接两个或多个数组。 2. `copyWithin()` - 在数组内部将一段元素拷贝到另一个位置。 3. `entries()` - 返回一个迭代器对象,可以遍历数组所有的键值对。 4. `every()` - 检查数组中的所有元素是否满足一个条件。 5. `fill()` - 用静态值填充一个数组中的所有元素。 6. `filter()` - 通过指定条件过滤出符合条件的数组元素。 7. `find()` - 返回找到的第一个元素,满足条件。 8. `findIndex()` - 返回目标元素索引,满足条件。 9. `forEach()` - 遍历数组,对每个元素执行指定的操作。 10. `includes()` - 判断数组是否包含指定元素。 11. `indexOf()` - 返回指定元素第一个出现的位置索引。 12. `join()` - 连接数组元素,返回字符串。 13. `keys()` - 返回一个迭代器对象,可以遍历数组的键。 14. `lastIndexOf()` - 返回指定元素最后一次出现的位置索引。 15. `map()` - 遍历数组,对每个元素执行指定的操作,将结果放入新数组。 16. `pop()` - 删除数组最后一个元素。 17. `push()` - 在数组末尾添加一个或多个元素。 18. `reduce()` - 对数组中的每个元素执行指定的操作,累积计算并返回最终结果。 19. `reduceRight()` - 与reduce()方法类似,不过是从右到左遍历数组。 20. `reverse()` - 反转数组元素的顺序。 21. `shift()` - 删除数组的第一个元素。 22. `slice()` - 截取数组元素,返回新数组。 23. `some()` - 检查数组中是否存在至少一个元素满足一个条件。 24. `sort()` - 排序数组元素。 25. `splice()` - 删除、插入或替换数组中的元素。 26. `toString()` - 将数组转换成字符串。 27. `unshift()` - 在数组的开头添加一个或多个元素。 28. `valueOf()` - 返回数组本身。 以上方法中,有些方法会改变原数组,有些方法则不会。需要注意使用时,避免产生错误。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值