loops - 如何在javascript中批量迭代地图?
问题描述
我在地图上有这个。您能否帮助我如何在一批 2 中阅读此内容并调用一个过程。
{
ids: [
{id: 1, value: 'abc'},
{id: 2, value: 'abcd'},
{id: 3, value: 'xyz'},
{id: 4, value: 'foo'},
{id: 5, value: 'bar'},
{id: 6, value: 'blah'},
{id: 7, value: 'blahblah'},
]
}
我试过下面的
let i = 0
let myNum = ids.length / 2
while (i < ids.length / myNum) {
const searchString = ids
.slice(myNum * i, myNum * (i + 1))
.map(obj => {
return `(id:${obj.id} AND value: ${obj.value})`
})
.join(' OR ')
console.log(`${searchString}`)
i++
}
输出:
((id:1 AND value: abc) OR (id:2 AND value: abcd) OR (id:3 AND value: xyz))
((id:4 AND value: foo) OR (id:5 AND value: bar) OR (id:6 AND value: blah) OR (id:7 AND value: blahblah))
解决方案
这是我想要的方式。不确定是否有有效的方法来做到这一点。我是 JavaScript 新手。
let sliceValue = 2
let i = 0
while (i < ids.length) {
const searchString = ids
.slice(i, sliceValue + i)
.map(obj => {
return `(id:${obj.id} AND value: ${obj.value})`
})
.join(' OR ')
console.log(`(${searchString})`)
i = i + sliceValue
}
输出:
((id:1 AND value: abc) OR (id:2 AND value: abcd))
((id:3 AND value: xyz) OR (id:4 AND value: foo))
((id:5 AND value: bar) OR (id:6 AND value: blah))
((id:7 AND value: blahblah))
推荐阅读
- json - play2-reactivemongo 从版本 0.18.4 升级到 0.19.5 后的警告
- java - Android Studio - 导航活动中的 2 个工具栏
- c - SIGSEGV 访问 C 中结构的参数
- javascript - html自定义元素使主机css改为应用于shadow dom子
- shell - 接收 URL 作为 shell 脚本的参数时,如何在不使用引号的情况下绕过与号 (&)?
- django - 聊天应用程序中的 Django Filters with Rest Framework Authentication 消息过滤策略/问题
- php - php解析对象层次结构和数组的JSON混合以读取值
- python - Mac在尝试运行代码时不断崩溃并重新启动
- java - 除了管理用户会话,Java SE/EE 中的 CDI 是什么?
- python - 为什么 imaplib.fetch RFC822 响应格式如此奇怪