Как перебрать карту в пакетном режиме в JavaScript? - PullRequest
0 голосов
/ 08 октября 2019

У меня есть это на карте. Не могли бы вы помочь, как я могу прочитать это в пакете 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))

1 Ответ

0 голосов
/ 08 октября 2019

это работает так, как я хотел. Не уверен, что есть эффективный способ сделать это. Я новичок в 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))
...