JS数组中改变原数组和不改变原数组的方法

1、数组中有些方法是改变原数组的: 

      push 是往数组的末尾添加数据,返回值是数组的长度,同时原数组会改变

        语法:数组名.push(数据)

        作用:在数组末尾添加数据

        返回值:返回数组的长度

var arr=["zhangs","lisi","wanger","mazi"]
var res=arr.push("push")
console.log(arr)  //['zhangs', 'lisi', 'wanger', 'mazi', 'push']
console.log(res)  //5

      pop 是删除数组最后一个元素,这次返回的可是被删除的元素数组,同时原数组改变

         语法:数组名.pop()

         作用:删除数组最后一项

         返回值:返回被删除的那一项

var arr=["zhangs","lisi","wanger","mazi"]
var res=arr.pop()
console.log(arr) //['zhangs', 'lisi', 'wanger']
console.log(res) //"mazi"

      unshift 是向数组开头添加一个或者多个的元素,返回值是数组的长度,同时原数组会改变    

        语法:数组名.unshift(数据)

        作用:子啊数组最前面插入数据

        返回值:返会数组长度

var arr=["zhangs","lisi","wanger","mazi"]
 
var res=arr.unshift('unshift','1111')
console.log(arr) //['unshift', '1111', 'zhangs', 'lisi', 'wanger', 'mazi']
console.log(res) //6

      shift 是删除数组的第一个元素   并且返回被删除的元素   同时原数组改变  

        语法:数组名.shift()

        作用:删除数组第一项

        返回值:返回被删除的数据

var arr=["zhangs","lisi","wanger","mazi"]
var res=arr.shift()
console.log(arr) //['lisi', 'wanger', 'mazi']
console.log(res) //"zhangs"

      splice 向数组中插入、删除或者替换元素

var arr = ['a','b','c'];
console.log(arr.splice(1,0))   //从下标1开始删除0个元素,返回的是个空数组
console.log(arr.splice(1,1))   // 从下标1开始删除一个元素,返回的是删除的元素 b
console.log(arr.splice(1,0,'hello','world')) // 从下标1开始删除0个元素,添加2个新的元素,      //返回的是['a', 'hello', 'world', 'b', 'c']

     reverse  将数组倒序(原数组改变)

let fruits = ['apple', 'banana', 'orange', 'mango'];
let reversedFruits = fruits.slice().reverse();
console.log(reversedFruits); // 输出:['mango', 'orange', 'banana', 'apple']
console.log(fruits); // 输出:['apple', 'banana', 'orange', 'mango']

     sort  将数组进行升序排列   (只能是数字或者字母)

var arr = [2,5,4,1,3,6]
arr.sort((a,b)=>{ return a - b })  //升序
arr.sort((a,b)=>{ return b - a })  //降序

2、数组中有些方法是不改变原数组的: 

      Array.filter()   会新创建一个数组  将符合条件的值丢进去

      Array.concat()   连接多个数组(拼接在一起) 返回一个新的数组

      Array.slice()   对数组中的数据进行截取  放到一个新的数组里返回

      Array.join()   将数组通过某个分隔符分割转换成字符串  返回的是一个字符串

      Array.map()  对数组的每一项进行处理  返回到一个新的数组里  

      Array.every()  判断数组中的每一项是否符合规范,都符合返回一个true  ,否则返回false

      Array.some()  判断数组,如果其中有一项符合条件的话就返回true,都不符合返回false 

      Array.indexOf()   找索引,如果找到则返回相应的索引值,否则返回  -1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值