Js基本语法-02

92 阅读1分钟
/*
* Js 基本语法  Array
*       数组是一个有序排列的集合
*       数组的值可以是任意类型
*       数组的浅拷贝只是拷贝原数组的内存地址,任意一个数组发生改变,另一个数组也会发生改变
*       数组的深拷贝是拷贝原数组的值。
*
* */


// 声明一个数组
let item = [1,2,3,4,5,6]

// 添加值,修改值,删除值,
item.pop() // 删除值
item.push(7) // 添加值
item[0] = 100 // 修改值
console.log(item)

// 获取数组的长度
console.log("item length:",item.length)

// 从某个位置插入/删除元素
item.splice(
    0,//插入位置
    4,//删除元素的数量
    [100,2,5]//插入的值
)
console.log(item)
console.log("\n","-".repeat(66))

// 遍历数组,map,forEach。Map返回一个新数组,而forEach不会返回一个新数组
newArray = item.map(d => d)
console.log("newArray:",newArray)
item.map(d => console.log("item map:",d))

arrayForeach = item.forEach(d => console.log("itemforEach:",d))
console.log("arrayForeach:",arrayForeach)
console.log("\n","-".repeat(66))

// 深拷贝 与 浅拷贝
let item2 = [1,2,3,4,5,6]
let item3 = item2 //赋值是浅拷贝,改变其中一个数组,另一个数组也会发生改变
item2[0] = 100
console.log("item2:",item2)
console.log("item3:",item3)
console.log("item2 === item3:",item2 === item3)
console.log("item2[0] === item3[0]:",item2[0] === item3[0])

console.log("\n","-".repeat(66))
item4 = item2.map(d => d) //map是深拷贝
item4[0] = 200
console.log("item2:",item2)
console.log("item4:",item4)
console.log("item2[0] === item4[0]:",item2[0] === item4[0])

image.png