日常开发小汇总(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))
相关推荐
ayqy贾杰29 分钟前
Agent First Engineering
前端·vue.js·面试
IT_陈寒38 分钟前
SpringBoot实战:5个让你的API性能翻倍的隐藏技巧
前端·人工智能·后端
iceiceiceice1 小时前
iOS PDF阅读器段评实现:如何从 PDFSelection 精准还原一个自然段
前端·人工智能·ios
大金乄1 小时前
封装一个vue2的elementUI 表格组件(包含表格编辑以及多级表头)
前端·javascript
葡萄城技术团队2 小时前
【性能优化篇】面对万行数据也不卡顿?揭秘协同服务器的“片段机制 (Fragments)”
前端
程序员阿峰2 小时前
2026前端必备:TensorFlow.js,浏览器里的AI引擎,不写Python也能玩转智能
前端
Jans2 小时前
Shipfe — Rust 写的前端静态部署工具:一条命令上线 + 零停机 + 可回滚 + 自动清理
前端
徐小夕2 小时前
JitWord 2.3: 墨定,行远
前端·vue.js·github
南果梨3 小时前
OpenClaw 完整教程!从安装到使用(官方脚本版)
前端·git·开源
大雨还洅下3 小时前
前端手写: new操作符
前端