数组的方法(针对是否改变元素组)

不改变原数组

  • concat()   连接两个或多个数组,并将新的数组返回,不改变原数组,返回新的数组

  • join()   把数组中所有元素放入一个字符串,将数组转换为字符串,不改变原数组,返回字符串

  • slice()  从已有的数组中返回选定的元素,提取部分元素,放到新数组中,参数解释:1:截取开始的位置的索引,包含开始索引;2:截取结束的位置的索引,不包含结束索引。不改变原数组,返回一个新数组

  • toString()   把数组转为字符串,不改变原数组,返回数组的字符串形式

  • map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。

    • 方法按照原始数组元素顺序依次处理元素。

    • map() 不会对空数组进行检测。

    • map() 不会改变原始数组

改变原数组

  • pop()  删除数组最后一个元素,如果数组为空,则不改变数组,返回undefined,改变原数组,返回被删除的元素

  • push()   向数组末尾添加一个或多个元素,改变原数组,返回新数组的长度

  • reverse()   颠倒数组中元素的顺序,改变原数组,返回该数组

  • shift()   把数组的第一个元素删除,若空数组,不进行任何操作,返回undefined,改变原数组,返回第一个元素的值

  • sort()   对数组元素进行排序,改变原数组,返回该数组

  • splice()   从数组中添加/删除项目,改变原数组,返回被删除的元素

  • unshift()   向数组的开头添加一个或多个元素,改变原数组,返回新数组的长度

循环数组

  • forEach()  浏览器会在回调函数中传递三个参数

      第一个参数就是当前正在遍历的元素

      第二个参数就是当前正在遍历的元素的索引

      第三个参数就是正在遍历的数组

var arr=['a','b','c']
arr.forEach(function(item,index){ 
    console.log(item); //a b c  
    console.log(index); //0 1 2
});

JSON.stringify()和JSON.parse()

  • JSON.stringify() 从一个对象中解析出字符串​

var data={name:'goatling'} ​ 
JSON.stringify(data)
  • 结果是:
    ​
    '{"name":"goatling"}'
  • JSON.parse() 从一个字符串中解析处JSON对象

    //定义一个字符串 ​ 
    var data='{"name":"goatling"}' ​ 
    //解析对象 ​ 
    JSON.parse(data)
    ​
    结果是:
    ​
    name:"goatling"

     

数组转字符串的方法

  • join

var a, b
a = new Array(0,1,2,3,4)
b = a.join("-");     //"0-1-2-3-4"
  • toString

var a = [1,2,3]
var b = a.toString()
console.log(a) // [1,2,3] 
console.log(b) // "1,2,3"

字符串转数组的方法

  • split

var s = "abc,abcd,aaa"
ss = s.split(",") // 在每个逗号(,)处进行分解。

多维数组转字符串的方法

  • join、split交替用

var a = [1,[1,2]] 
console.log(a.join(",").split(",").join("-")); // 1-1-2

 

indexOf 和 lastIndexOf的区别

  • indexOf是从左往右查,lastIndexOf是从右往左查

  • 注意:两者虽然查询顺序不一样但是下标都是从左往右数的

var a = [1, 2, 3, 4, 5, 6, 7, 7, 8] 
console.log(a.indexOf("7"))   // 6 
console.log(a.lastIndexOf("7"))   // 7

数组去重

let arr = [1,2,3,4,3,4]; 
// ...是扩展运算符,取出可遍历属性拷贝到当前对象;
// Set() 类数组,该类型不会有重复的数据,用来做数组去重 
let arr2 = [...new Set(arr)];
// Array.from方法可以将 Set 结构转为数组。
let newArr = Array.from(arr2); 
console.log(newArr)

交换两个变量的值

let [x,y] = [1,2];
	[y,x] = [x,y];
	console.log(y);

获取字符串中某个字符

let str= "You Are MyBaby";
	console.log(str[4]);

数组合并

let one = [1,43,67,8];
	let two = [2,34,634,5];
	let three = [2.34,5,546,2];
	// es5合并方法
	let oo = one.concat(two, three);
	// es6合并方法
	let pp = [...one, ...two, ...three];
	console.log(oo, pp);

字符串翻转

let strReverse = 'I Love You'
	// es5
	let strFive = strReverse.split('').reverse().join()
    // es6
	let strSix = [...strReverse].reverse().join()
	console.log(strFive,strSix)

过滤

let aFilter = [1.23,34,,5,6,'e'].filter(x => true)
	console.log(aFilter)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值