日常开发小汇总(5)数组克隆、伪数组转换为真数组、随机排序

  1. slice 切割数组实现克隆是浅拷贝
bash 复制代码
let arr = [1,2, {name:1}]
let newarr = arr.slice(0);
console.log(newarr) //[1,2, {name:1}]
newarr[2].name = 666;
console.log(arr[2].name);//666  
  1. JSON实现克隆 深拷贝
bash 复制代码
let arr = [1,2, {name:1}]
let newarr = JSON.parse( JSON.stringify(arr) )
newarr[2].name = 666;
console.log(arr[2].name) //1

3.Object.assign() 浅拷贝

bash 复制代码
let arr = [1,2, {name:1}]
let newarr = Object.assign([],arr)
newarr[2].name = 666;
console.log(arr[2].name) //666
  1. 转换为真数组
javascript 复制代码
let obj = {
	0:"1",
	1:"2",
	length: 2
}
let arr = Array.prototype.slice.call(obj,0)
//也可以写成Array.prototype.slice.call(obj)
console.log(arr)
  1. 数组随机排序
javascript 复制代码
let ar = [1,2,3,4,5,6,7,8,9,10]
ar.sort(()=> (Math.random()-0.5))
相关推荐
一 乐8 分钟前
二手车销售|汽车销售|基于SprinBoot+vue的二手车交易系统(源码+数据库+文档)
java·前端·数据库·vue.js·后端·汽车
Giant10014 分钟前
如果要做优化,CSS提高性能的方法有哪些?
前端
dllxhcjla16 分钟前
html初学
前端·javascript·html
只会写Bug的程序员16 分钟前
【职业方向】2026小目标,从web开发转型web3开发【一】
前端·web3
LBuffer19 分钟前
破解入门学习笔记题二十五
服务器·前端·microsoft
kuxku21 分钟前
使用 SSE 与 Streamdown 实现 Markdown 流式渲染
前端·javascript·node.js
Sherry00733 分钟前
【译】🔥如何居中一个 Div?看这篇就够了
前端·css·面试
前端小咸鱼一条34 分钟前
18. React的受控和非受控组件
前端·react.js·前端框架
一枚前端小能手39 分钟前
🛠️ Service Worker API深度解析 - 生命周期、缓存与离线实战
前端·javascript
马卫斌 前端工程师1 小时前
vue3 实现echarts 3D 地图
前端·javascript·echarts