ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

改变原数组的方法

2022-07-05 16:34:31  阅读:137  来源: 互联网

标签:console log item 改变 let 数组 20 方法


let a = [1,2,3];
    ES5:
     a.splice()/ a.sort() / a.pop()/ a.shift()/ a.unshift()/ a.reverse()/ a.push()添加数组
ES6: a.copyWithin() / a.fill(不常用)

1.splice用于给数组删除/添加元素

定义: splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目

语法: array.splice(index,howmany,item1,.....,itemX)

参数:

  1. index:必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
  2. howmany:可选。要删除的项目数量。如果设置为 0,则不会删除项目。
  3. item1, ..., itemX: 可选。向数组添加的新项目。

返回值: 如果有元素被删除,返回包含被删除项目的新数组。

let a = [1, 2, 3, 4, 5, 6, 7];
let item = a.splice(0, 3); // [1,2,3]  // 删除
console.log(item) [4, 5, 6, 7] 
let item = a.splice(0, 3,8); // [1,2,3]  // 删除后添加
console.log(item) [8, 4, 5, 6, 7] 
let item = a.splice(0, 0,8); // [1,2,3]  // 添加
console.log(item) [8, 1, 2, 3, 4, 5, 6, 7] 

2.sort() 数组排序

var array =  [10, 1, 3, 4,20,4,25,8];
 // 升序 a-b < 0   a将排到b的前面,按照a的大小来排序的 
 // 比如被减数a是10,减数是20  10-20 < 0   被减数a(10)在减数b(20)前面   
 array.sort(function(a,b){
   return a-b;
 });
 console.log(array); // [1,3,4,4,8,10,20,25];
 // 降序 被减数和减数调换了  20-10>0 被减数b(20)在减数a(10)的前面
 array.sort(function(a,b){
   return b-a;
 });
 console.log(array); // [25,20,10,8,4,4,3,1];

// 同理json数组可以根据里边的属性值来进行操作

3.pop() 删除一个数组中的最后的一个元素

 let  a =  [1,2,3];
 let item = a.pop();  // 3
 console.log(a); // [1,2]

4.shift() 删除数组的第一个元素

let  a =  [1,2,3];
let item = a.shift();  // 1
console.log(a); // [2,3]

5.unshift()向数组开头添加一个或多个元素

let  a =  [1,2,3];
let item = a.unshift('开头');  // 4
console.log(a); // ['开头',1,2,3]

6.reverse() 颠倒数组中元素的顺序

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

 7.fill() 填充数组

定义: 使用给定值,填充一个数组。

参数:

第一个元素(必须): 要填充数组的值

第二个元素(可选): 填充的开始位置,默认值为0

第三个元素(可选):填充的结束位置,默认是为this.length

 ['a', 'b', 'c'].fill(7)
 // [7, 7, 7]
 ['a', 'b', 'c'].fill(7, 1, 2)
 // ['a', 7, 'c']

 

标签:console,log,item,改变,let,数组,20,方法
来源: https://www.cnblogs.com/wjsy/p/16446929.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有