javascript数组操作方法

1.join('+')

功能: 1.数组转字符串,可以修改连接符

原素组:不改变

返回值:增加连接符的字符串

let list = ['a', 12, 'c', 'd', 'e'];
let result = list.join(' - ');
console.log('old result', list) //["a", 12, "c", "d", "e"]
console.log('new result', result) //"a - 12 - c - d - e"

 

2.reverce()

功能:反转数组

原数组:反转

返回值: 反转

let list = ['a', 12, 'c', 'd', 'e'];
let result = list.reverse();
console.log('old result', list) //["e", "d", "c", 12, "a"]
console.log('new result', result) //["e", "d", "c", 12, "a"]

3.push()

功能:在数组末尾增加1个或多个元素

原数组:增加

返回值:数组增加后的长度

let list = ['a'];
let result = list.push('b','c');
console.log('old result', list) // ["a", "b", "c"]
console.log('new result', result) //3

4.pop()

功能:在数组末尾删除一个元素

原数组:减少

返回值:删除的元素

let list = ['a','b'];
let result = list.pop();
console.log('old result', list)    // ["a"]
console.log('new result', result)  //  b

5.unshift()

功能:在数组前端增加一个元素

原数组:改变原数组

返回值:增加后数组长度

let list = ['a','b'];
let result = list.unshift('0','1');
console.log('old result', list) // ["0", "1", "a", "b"]
console.log('new result', result) //4

6.shift

功能:在数组前端删除一个元素

原数组:改变原数组

返回值:删除的元素

let list = ['a','b'];
let result = list.shift();
console.log('old result', list) // ["b"]
console.log('new result', result) // a

7.slice(begin,end)

功能:截取字符串,begin开始下标,到end下标且不包含end元素,浅拷贝

原数组:不改变原数组

返回值:截取到的数组

let list = ['a','b','c','d','e'];
let result = list.slice(1,2);
console.log('old result', list)  // ["a", "b", "c", "d", "e"]
console.log('new result', result) // ["b"]

8.splice(start,count,value)

功能:可以截取可以增加功能强大,start下标开始截取count个元素,并使用value填充进去

原数组:在原数组上进行操作

返回值:截取到值的数组

let list = ['Jan','March', 'April', 'June'];
const result = list.splice(1, 1, 'Feb');
console.log('old result', list) // ["Jan", "Feb", "April", "June"]
console.log('new result', result) // ["March"]

9.sort((a,b) => {return a - b})

功能:数组排序

原数组:改变原数组为排序后的数组

返回值:排序后的数组

let list = [{
            id: 2,
            msg: '老二'
            },
        {
            id: 1,
            msg: '老大'
        },
        {
            id: 4,
            msg: '老四'
        },
               {
            id: 3,
           msg: '老三'
        }];
let result = list.sort((a, b) => {
    return a.id - b.id;
});
console.log('old result', list) //[{id: 1, msg: "老大"},{id: 2, msg: "老二"},{id: 3, msg: "老三"},{id: 4, msg: "老四"}]
console.log('new result', result)   //同上                       

10.toString

功能:数组转换为字符串

原数组:不受影响

返回值:转换字符串

let list = ['Jan', 'March', 'April', 'June'];
const result = list.toString();
console.log('old result', list)  // ["Jan", "March", "April", "June"]
console.log('new result', result) // Jan,March,April,June

11.concat

功能:合并数组

原数组:不受影响

返回值:合并后的新数组

let list = ['Jan', 'March', 'April', 'June'];
let list2 = [1,2,3]
const result = list.concat(list2);
console.log('old result', list) // ["Jan", "March", "April", "June"]
console.log('new result', result) //["Jan", "March", "April", "June", 1, 2, 3]

 

12.flat(depth)

功能:数据扁平化处理,depth为扁平化的层数,默认为1层,infinity为无限多层

原数组:不受影响

返回值:扁平化后的新数组

缺点:ECMAScript 2019 兼容性

let list = [['飞机'],[1,2,3,[8,10]]];
const result = list.flat(Infinity);
console.log('old result', list) // 不变
console.log('new result', result) //["飞机", 1, 2, 3, 8, 10]

13.from()

<ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    <li>5</li>
</ul>
        <script type="text/javascript">
            let lis = document.querySelectorAll('li');
            const result = Array.from(lis);
            console.log('old result', lis)
            console.log('new result', result)
        </script>

 

posted @ 2020-05-09 17:55  追忆枉然  阅读(174)  评论(0编辑  收藏  举报