日常开发小汇总(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))
相关推荐
养生匠几秒前
我写了个yapi 转化前端ts请求接口的代码,真的很好用
javascript
hahala2333几秒前
依赖注入(DI)
javascript·node.js
任尔东西南北风3 分钟前
前端请求工具封装
前端·javascript
刺客_Andy4 分钟前
vue3 第二十九节 (vue3 事件循环之nextTick)
前端·vue.js
Audi_A4L6 分钟前
RxJS的设计原理以及用了哪些设计模式
前端
小鱼冻干6 分钟前
node.js-net模块
前端·node.js
Slow菜鸟14 分钟前
JavaScript与UniApp、Vue、React的关系
javascript·vue.js·uni-app
VT.馒头23 分钟前
【力扣】2629. 复合函数——函数组合
前端·javascript·算法·leetcode
程序猿--豪23 分钟前
前端技术百宝箱
javascript·vue.js·react.js·webpack·gitee·css3·html5
程序员buddha23 分钟前
ThinkPHP8.0+MySQL8.0搭建简单实用电子证书查询系统
javascript·css·mysql·php·layui·jquery·html5