javaScript 数组常用的几个方法

皮卡皮卡皮
• 阅读 1669

数组的方法总结

1. 数组转换字符串

  1. toString()
  2. toLocaleString()
  3. join()
const arr = [1,5,6,9,3,2,4,6]

console.log('toString--->'+arr.toString()) // toString--->1,5,6,9,3,2,4,6
console.log('toLocaleString--->' +arr.toLocaleString()) // toLocaleString--->1,5,6,9,3,2,4,6
console.log('join--->'+ arr.join(',')) // join--->1,5,6,9,3,2,4,6

2.堆栈方法

  1. push() 在数组最后添加一项 返回值 => 增加数组后的长度
  2. pop() 删除数组最后一项 返回值 => 删除后的长度
  3. unshift()在数组最后添加一项 返回值 => 增加数组后的长度
  4. shift() 删除第一项 返回值 => 删除后的长度

const arr = [1,5,6,9,3,2,4,6]

arr.push(10);
console.log(arr);

arr.pop();
console.log(arr);

arr.unshift(0);
console.log(arr);

arr.shift();
console.log(arr);

3.数组排序 reverse sort 随机排序

  1. reverse 倒序
  2. sort((a,b) => a - b) 正序 / sort((a,b) => b-a) 倒序
  3. 随机排序
// 3. 排序

const arr = [1,2,3,4,5,6]
// 1. resverse()
console.log(arr.reverse());  // [ 6, 5, 4, 3, 2, 1 ]

// 2. sort()
// 正序
console.log(arr.sort()); // [ 1, 2, 3, 4, 5, 6 ]
console.log(arr.sort((a, b) => a - b)); // [ 1, 2, 3, 4, 5, 6 ]
// 倒序
console.log(arr.sort((a, b) => b - a)); // [ 6, 5, 4, 3, 2, 1 ]

// 随机排序
function compate() {
    return Math.random() - 0.5 ;
}

console.log(arr.sort(compate)); // [ 1, 3, 5, 4, 6, 2 ] / [ 6, 1, 5, 4, 3, 2 ]

4. 数组拼接 concat 返回一个新数组

concat 不能将多维数据进行拼接

const arr = [1,2,3];

console.log(arr, arr.concat(3, 4)) // [ 1, 2, 3 ] [ 1, 2, 3, 3, 4 ] 
console.log(arr, arr.concat([3, 4])) // [ 1, 2, 3 ] [ 1, 2, 3, 3, 4 ]
console.log(arr, arr.concat([3, [4]])) // [ 1, 2, 3 ] [ 1, 2, 3, 3, [ 4 ] ]

// 现在常用 [...arr]
console.log(arr, [...arr, 3, 4]) // [ 1, 2, 3 ] [ 1, 2, 3, 3, 4 ]

5. 删改方法

  1. slice() 原数组不会变化,返回一个新数组
  2. splice() 会修改原数组,将删除的元素变成数组返回
// 5. 数组的删改

const arr = [1,2,3,4,5]

// slice  [ ) 左闭右开; start , end  
console.log(arr.slice(2))  // 2 代表从下标为2的位置截取到末尾  返回一个新数组 [ 3, 4, 5 ]
console.log(arr.slice(2,4)) // 代表从下标为2的位置截取下标为4的位置但不包括4  [ 3, 4 ]

console.log(arr.slice(-2))  // 倒着数下标为2的位置截取到末尾  [ 4, 5 ]
console.log(arr.slice(-4,-1)) // 倒着数下标为4的位置截取截取下标为1的位置但不包括1 [ 2, 3, 4 ]

// 将字符串转为数组
const str = '123456';
console.log(Array.prototype.slice.call(str)) // [ '1', '2', '3', '4', '5', '6' ]

// splice()  
// 1. 起始 增加或删除的位置
// 2. 指定删除元素的个数
// 3. 添加元素

// console.log(arr.splice(2))  // [ 3, 4, 5 ]
// console.log(arr.splice(0, 4)) // [ 1, 2, 3, 4 ]
// console.log(arr, arr.splice(4,0,'a','b')) // [ 1,   2,   3, 4,'a', 'b', 5]  []
点赞
收藏
评论区
推荐文章
她左右 她左右
3年前
JavaScript数组常用方法总结
数组基本操作可以归纳为增、删、改、查,需要留意的是哪些方法会对原数组产生影响,哪些方法不会下面对数组常用的操作方法做一个归纳增下面前三种是对原数组产生影响的增添方法,第四种则不会对原数组产生影响push()unshift()splice()concat()push
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
待兔 待兔
2年前
12个有用的JavaScript数组技巧
数组是Javascript最常见的概念之一,它为我们提供了处理数据的许多可能性,熟悉数组的一些常用操作是很有必要的。1、数组去重1、from()叠加newSet()方法字符串或数值型数组的去重可以直接使用from方法。varplants'Saturn','Earth','Uranus','Mercury','Venus','Earth',
小嫌 小嫌
3年前
Javascript中的变量提升
定义JavaScript中奇怪的一点是你可以在变量和函数声明之前使用它们。就好像是变量声明和函数声明被提升了代码的顶部一样。sayHi()//Hithere!functionsayHi()console.log('Hithere!')name'JohnDoe'console.log(name)//JohnDoevarn
LinMeng LinMeng
3年前
Object.keys()详解
Object.keys():遍历对象的所有属性,该方法返回一个数组,数组内容就是对象的所有键名。传入对象,返回属性名varobj{'a':'meng','b':'lin'}console.log(Object.keys(obj));//'a','b'varobj{100:"a",2:"b",7:"c"};cons
Wesley13 Wesley13
3年前
JS中二进制与十进制的相互转换
今天在做题目的时候遇到了需要十进制转换为二进制,这个我知道用toString可以,但是二进制转换为十进制我一下子就想不起来,网上搜了下,才知道是parseInt可以实现,特此记录下。十进制转换为二进制:varnum100;console.log(num.toString(2));toString()方法可把一个
可莉 可莉
3年前
18 个 JavaScript 入门技巧!(含2020JavaScript面试题整理)
1\.转字符串constinput123;console.log(input'');//'123'console.log(String(input));//'123'console.log(input.toString());//'123'
Stella981 Stella981
3年前
ES6 for in与for of 的使用方法及其区别
  // for in遍历的是数组的索引(即键名),而for of遍历的是数组元素值。 let arr  \1,2,3,4,5,6,7\    for(let index of arr){     //   console.log(index)//1 2 3 4 5 6 7    }    for(let index in
Wesley13 Wesley13
3年前
ES6 扩展运算符 三点(...)
含义扩展运算符(spread)是三个点(...)。它好比rest参数的逆运算,将一个数组转为用逗号分隔的参数序列。console.log(...1,2,3)//123console.log(1,...2,3,4,5)//12345...
Stella981 Stella981
3年前
JS关于Array的方法介绍
Array.length:数组的一条属性。基本用法:letarray1,2,3,4,5;console.log(array.length);//5Array.prototype:数组原型console.log(Array.prototype);//ObjectArray.isArr
皮卡皮卡皮
皮卡皮卡皮
Lv1
十年旧梦无寻处,几度新春不在家。
文章
8
粉丝
2
获赞
6