【发布时间】:2020-09-14 15:53:55
【问题描述】:
我得到了下面的数据
const v=[
...
[2,'apple'],
[3,'apple'],
[4,'apple'],
[5,'banana'],
[6,'banana'],
[7,'orange'],
[8,'apple'],
[9,'orange'],
[10,'orange'],
...
]
现在我想把它解析成
{start:2 , end:4, value: 'apple'},
{start:5 , end:6, value: 'banana'},
{start:7 , end:7, value: 'orange'},
{start:8 , end:8, value: 'apple'},
{start:9 , end:10, value: 'orange'},
...
所以我这样循环
arr = []
v.forEach((j, i) => {
if (!start && !value) {
let start = v[i][0]
let value = v[i][1]
}
console.log(start,value)
if (start && value) {
if (v[i + 1] && v[i + 1][1] !== value) {
let end = v[i][0]
arr.push(
{
start, end, value
})
delete start, end, value;
}
}
})
但我发现每个循环的开始和结束都会被重置。 所以我需要用另一种方式来循环/解析数据。
还有其他方法吗?
【问题讨论】:
标签: javascript arrays loops for-loop