通过js把一个数组里面的值每两个分成一对,比如有一个数组
let Arr = [ 变成 Arr = [
"511", "1409", {x:511,y:1409},
"583", "1374", {x:583,y:1374},
"599", "1407", {x:599,y:1407},
"527", "1442" {x:527,y:1442},
] ]
<template>
<div>
<el-button @click="handleArr(Arr)">单层数组</el-button>
<el-button @click="handleArrList(ArrList)">多层数组</el-button>
</div>
</template>
<script>
export default {
data() {
return {
Arr: ["511", "1409", "583", "1374", "599", "1407", "527", "1442"],
ArrList: [
["511", "1409", "583", "1374", "599", "1407", "527", "1442"],
["411", "1309", "483", "1274", "589", "1307", "517", "1342"],
["311", "1209", "383", "1174", "579", "1207", "507", "1242"],
],
};
},
methods: {
handleArrList(val) {
val.map((item) => {
this.handleArr(item);
});
},
handleArr(arr, n = 2) {
const res = [];
for (let i = 0; i < arr.length - 1; i += 2) {
let index = Math.floor(i / n);
const obj = {
x: arr[i],
y: arr[i + 1],
};
res[index] = obj;
}
console.log("res", res);
// res:0: {x: '311', y: '1209'}
// 1: {x: '383', y: '1174'}
// 2: {x: '579', y: '1207'}
// 3: {x: '507', y: '1242'}
},
},
};
</script>