如何将这种数组
前者的数组是通过vue实现的,也就是数组添加之后得到的数据,而后者则是The real Array
有实验链接:https://codepen.io/sam9029/pen/xxJqNLL
data() {
return {
message: 'Welcome to Vue!',
myarr:[1,2,3]
};
},
// 直接解构
mounted(){
console.log('hi',this.myarr)
console.log('hilfter',[...this.myarr])
},
// vue3 Composition API
import {ref,reactive,toRaw} from 'vue';
let amyarr = ref([1,2,3])
let bmyarr = reactive([5,6,4])
console.log("ref",amyarr)
console.log("refAfter",[...amyarr.value])
console.log("reactive",bmyarr)
console.log("reactiveAfter",[...bmyarr])
console.log("reactiveAfterRaw",toRaw(bmyarr))
逻辑上可以先创一个新数组后遍历原本的数组赋值,实现如下:
// 1
let res1 = new Array();
for(let i=0;i<arr.length;i++){
res1.push(arr)
}
// 2
let res2 = [...arr];
数组拷贝的api都可以,但最优雅的写法是使用扩展运算符
const b = [...a] // a,b对应你的1,2张截图