splice(), reverse()/sort(),join()等函数用法

这三个函数最早在Vue,js 文档中看到使用, split(), reverse(),join()
之前虽说对这三个函数有个了解,但是一连串的使用的时候看的我还是一点蒙蔽,故写下此博客

在这里插入图片描述
split(’ ‘)是与join (’ ')完全相反两个方法, 一个是一个是添加,一个是去除

在这里就是完全镜像的意思,
所以这个颠倒函数十分有意思的


首先 splice();:
该方法可以通过指定起始索引和数据个数的方式,删除或替换数组中的部分 数据. 该方法返回的值被删除的或替换的数据. 这与slice(); 的一个比较大的差别;


var a=[1,3,2,5];


var result1=a.splice(1,2 ,9,0);
console.log(a);
console.log(result1);

结果:

[ 1, 9, 0, 5 ]
[ 3, 2 ]

可见splice();会影响原数组,并将添加的元素放入原数组中; 重新赋值的splice('') 变量将裁减的对象 会放新的数组; (splice, 原数组会发生变化, 并将裁减的数组分离成一个新的数组)

join();
就是把所有的元素放在一个新的字符串中; 对原数组不产生影响;

还得强调一下join() 会生成的是一个字符串

var a=[1,3,2,5];

var result=a.join(" ");


console.log(a);


console.log(result);  //把数组所有元素放入一个字符串中,但不影响原数组的;

结果:

[ 1, 3, 2, 5 ]
1 3 2 5

reverse();
可以将数组的元素颠倒过来;, 值得注意的是该方法会改变的是原来的数组,并不会创建一个新的数组;

var a=[1,3,2,5];

console.log(a);

console.log(a.reverse());
console.log(a);

结果:

[ 1, 3, 2, 5 ]
[ 5, 2, 3, 1 ]
[ 5, 2, 3, 1 ]

这里还值得一提的是: 除了reverse(), 倒叙排列之外, 还有一个默认的方法是: sort(),
但是sort直接使用的时候回将数组的值默认使用一次 toString(),的方法

var values = [0, 1, 5, 10, 15];
values.sort();  // (x,y)=>x-y 升序排列
console.log(values); //0,1,10,15,5 

sort() 还可以根据自己的意愿达到排序的目的

sort写的很好

三者的综合使用;


var a=[1,3,2,5];

//var result=a.join(" ");

var result1=a.splice(" ");
console.log(a);
console.log(result1.reverse().join(' '));


结果:

[]
5 2 3 1

由此可见使用splice(" "),原数组会变成一个空数组,有会生成一个与之相关的数组(可以说一使用数据就全部发生改变了)

slice() 不会对原数组产生影响,直接生成一个新的数组;
slice();

var a=[1,3,2,5,7];
// var b=[6,7]
// var result=a.join(" ");
var result2=a.slice(2,3);

console.log(result2);
console.log(a);

结果

[ 2 ]
[ 1, 3, 2, 5, 7 ]

补充:

使用sort实现一些个人需要的排序

  • 将数据按年龄排序
let arr1=[
    {name:'刘备',age:59},
    {name:'张飞',age:54},
    {name:'关羽',age:56},
]

function compare(val){
    return function(a,b){
        let n1=a[val]
        let n2=b[val]
        return n1-n2
    }
}

arr1.sort(compare('age')).reverse() //达到了按年龄排序(有数字的才可以)
console.log(arr1);

如果数据的格式不满足排序的要求, 可以在将数据构造成希望的数据格式在进行数据的要求排序

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值