怎么转这样的格式[{77, 0}, {76, 0}, {68, 1}],怎么弄呢?
怎么转这样的格式,怎么弄呢
[{77, 0}, {76, 0}, {68, 1}]
回答:
写一个最简单的
function test(data){ const filterData = data.filter(item=> typeof item === 'number')
const result = []
for(let index = 0; index < filterData.length; index+=2){
result.push([filterData[index], filterData[index+1]])
}
return result
}
const sourceData = [{}, 77, 0, 76, 0, 75, 0, 74, 0, 73, 0, 72, 0, 71, 0, 70, 0, 69, 1, 68, 1]
test(sourceData)
// (10) [Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2)]
// 0: (2) [77, 0]
// 1: (2) [76, 0]
// 2: (2) [75, 0]
// 3: (2) [74, 0]
// 4: (2) [73, 0]
// 5: (2) [72, 0]
// 6: (2) [71, 0]
// 7: (2) [70, 0]
// 8: (2) [69, 1]
// 9: (2) [68, 1]
// length: 10
如果说第一项是包裹的外层那么可以稍微改写一下:
function test(data){ const parcel = JSON.stringify(data.shift()).split('')
const result = []
for(let index = 0; index < data.length; index+=2){
result.push(parcel[0] + data[index] +',' + data[index+1] + parcel[1])
}
return result
}
const sourceData = [{}, 77, 0, 76, 0, 75, 0, 74, 0, 73, 0, 72, 0, 71, 0, 70, 0, 69, 1, 68, 1]
test(sourceData)
// (10) ['{77,0}', '{76,0}', '{75,0}', '{74,0}', '{73,0}', '{72,0}', '{71,0}', '{70,0}', '{69,1}', '{68,1}']
回答:
最简单的就是循环(arr.length / 2)次,每次都截取出数组的前两个元素作为一个子数组放入最终的数组中。
以上是 怎么转这样的格式[{77, 0}, {76, 0}, {68, 1}],怎么弄呢? 的全部内容, 来源链接: utcz.com/p/933203.html