Как я могу перебрать объект, получить индекс каждого элемента и сохранить его в массиве?

#javascript #reactjs

#javascript #reactjs

Вопрос:

Вот что я пробовал до сих пор, но взамен я получаю только 1 значение.

 Object.keys(yelpResults).map((key) => {
  return setRestaurantIndexes(restaurantIndexes.concat(key));
});
  

Комментарии:

1. Просто чтобы убедиться, вы хотите, чтобы конечным результатом был массив индексов? Я правильно читаю? «… получить индекс каждого элемента и сохранить его в массиве». Итак, ваш результирующий массив будет выглядеть примерно так: [1,2,3,4,5]? Или вы имели в виду, что хотите получить «ключ» каждого элемента и сохранить его в массиве?

Ответ №1:

Object.keys Одна только функция делает свое дело, она возвращает массив с именами свойств и методов объекта.

 const data = {
  name: 'John Doe',
  age: 50,
  country: 'NZ'
}

const propertyNames = Object.keys(data)

console.log(propertyNames);
// prints: ['name', 'age', 'country']
  

Ответ №2:

  • Сначала создайте свой объект.

     const result = ["Apple", "Orange", "Plum"];
      
  • Затем объявите массив, в котором вы сохраните свои значения индекса

     let newArray = []
      
  • Затем выполните цикл по объекту, созданному на шаге 1.

     //loop the results
    
    for(var i=0, l=result.length; i < l; i  ){
    
      //push the object's index to the array  
    
      newArray.push(i);
    }
      
  • Консоль регистрирует ваш новый массив с сохраненными в нем значениями индекса.

     console.log(newArray);
      

Комментарии:

1. const result = ["Apple", "Orange", "Plum"]; это не объект, это массив.

Ответ №3:

вы можете сослаться на этот пример, если это поможет. Функция Map может быть выполнена для массива, поэтому сначала нам нужно преобразовать объект в массив, а затем выполнить операцию над ним.

 const details={
  name:'John',
  lName:'lee',
  country:'US'
}

const getIndex = Object.keys(details).map((item , i)=>{
  return i;  
});

console.log(getIndex);
  

Комментарии:

1. вам не нужно вводить массив. const getIndex = Object.keys(details).map((item, index) => index); вы получите массив индексов в getIndex