Js添加数组,删除数组元素,合并,遍历,与Object互转

Posted Jason_ou2021

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Js添加数组,删除数组元素,合并,遍历,与Object互转相关的知识,希望对你有一定的参考价值。

1. 定义一个数组

let arr = ["Jason", "David", "Steven"];

 2. 添加(push(), unshift(), splice()):

//push()方法可以将一个或多个新元素添加到数组的结尾,然后返回新数组
arr.push("Dobe");
console.log(arr)

//结果: ["Jason", "David", "Steven", "Dobe"]



//unshift()方法可以将一个或多个新元素添加到数组的开头,然后返回新数组
arr.unshift("Dobe");

//结果: ["Dobe", "Jason", "David", "Steven"]



//splice()方法可以将一个或多个新元素添加到数组的指定位置,插入位置的元素自动后移
arr.splice( 1, 0, "Dobe");

//结果: ["Jason", "David", "Dobe", "Steven"]

 3. 删除元素 :

pop()方法

javascript中的Array对象提供了一个pop()栈方法用于弹出并返回数组中的最后一项,某种程度上可以当做删除用。

栈数据结构的访问规则是FILO(First In Last Out,先进后出),栈操作在栈顶添加项,从栈顶移除项,使用pop()方法,它能移除数组中的最后一项并返回该项,并且数组的长度减1。

var colors = ["red", "blue", "grey"];
var color = colors.pop();

console.log(color); // "grey"
console.log(colors.length); // 2

shift()队列方法

JavaScript中的Array对象提供了一个shift()队列方法用于弹出并返回数组中的第一项,某种程度上也可以当做删除用。

队列数据结构的访问规则是FIFO(First In First Out,先进先出),队列在列表的末端添加项,从列表的前端移除项,使用shift()方法,它能够移除数组中的第一个项并返回该项,并且数组的长度减1。

var colors = ["red", "blue", "grey"];
var color = colors.shift();

console.log(color); // "red"
console.log(colors.length); // 2

splice()操作方法

在JavaScript的Array对象中提供了一个splice()方法用于对数组进行特定的操作。splice()恐怕要算最强大的数组方法了,他的用法有很多种,在此只介绍删除数组元素的方法。在删除数组元素的时候,它可以删除任意数量的项,只需要指定2个参数:要删除的第一项的位置和要删除的项数。

var colors = ["red", "blue", "grey"];
var color = colors.splice(0, 1);

console.log(color); // "red"
console.log(colors); // ["blue", "grey"]

4. 合并

js的Array对象提供了一个叫concat()方法,连接两个或更多的数组,并返回结果。

var c = arr.concat(arr2);

5. 遍历

arr.forEach((item, key)=>{
    console.log(key, item)
})

6. 与Object互转

Array.from() 方法,用于数组的浅拷贝。就是将一个类数组对象或者可遍历对象转换成一个真正的数组。

 let obj = {
        0: 'nihao',
        1: 'haha',
        2: 'gansha',
        'length': 3
    } 
    let arr = Array.from(obj)
    console.log(arr);

Object.values(object)
tips:与第一种不同的是不需要length属性,返回一个对象所有可枚举属性值


这里简单说一下可枚举性。目前我还没理解这个可枚举性有什么用,大概意思就是

对象的每一个属性都有一个描述对象,用来描述和控制该属性的行为,用Object.getOwnPropertyDescriptor方法来获取该描述对象(用Object.defineProperty方法来设置)。

以后仔细研究之后会再好好写写这个可枚举性的!

let obj = {
        0: 'nihao',
        1: 'haha',
        2: 'gansha',
    }
    let arr = Object.values(obj)
    console.log(arr);

Object.entries(object)
tips:返回一个给定对象自身可枚举属性的键值对数组

let obj = {
        0: 'nihao',
        1: 'haha',
        2: 'gansha',
    }
    let arr = Object.entries(obj)
    console.log(arr);

 

以上是关于Js添加数组,删除数组元素,合并,遍历,与Object互转的主要内容,如果未能解决你的问题,请参考以下文章

7js——数组

7js——数组

js查找数组中出现次数最多的元素

数组如何一边遍历一边删除元素

关于数组的一些经常使用函数

js如何取得数组的键名