Iterate over JavaScript object with index

后端 未结 2 627
小鲜肉
小鲜肉 2020-12-15 20:49

I am trying to loop over a JavaScript object in ES6.

 for (let [value, index] of object) {
    do something with rest
    if (index >= 1) {
       // do s         


        
2条回答
  •  刺人心
    刺人心 (楼主)
    2020-12-15 21:21

    This is just meant to be an addition to jonas w's solutions.

    If you need the key of the current value:

    const object = {a:2, b:4, c:6, d:8};
    
    for (const [index, [key, value]] of Object.entries(Object.entries(object))) {
      console.log(`${index}: ${key} = ${value}`);
    }
    
    Object.entries(object).forEach(([key, value], index) => {
      console.log(`${index}: ${key} = ${value}`);
    });

    Of course, you can leave out the key at any time:

    const object = {a:2, b:4, c:6, d:8};
    
    for (const [index, [, value]] of Object.entries(Object.entries(object))) {
      console.log(`${index}: ${value}`);
    }
    
    Object.entries(object).forEach(([, value], index) => {
      console.log(`${index}: ${value}`);
    });

提交回复
热议问题