#javascript #arrays #object
#javascript #массивы #объект
Вопрос:
У меня определен этот массив:
$scope.exportData = [];
а затем я выполняю вызов api, и он возвращает 3 объекта в моем массиве.
[Object, Object, Object] //from Console Log
0: Object
Name: "Steve"
Age: 30
Sex: "M"
1: Object
Name: "James"
Age: 25
Sex: "M"
2: Object
Name: "Joe"
Age: 20
Sex: "M"
то, что я хочу здесь сделать, это взять объекты внутри $scope.exportData и превратить их в массивы, чтобы у меня было 5 массивов внутри $scope.exportData примерно так:
[Array[3], Array[3], Array[3]]
0: Array[3]
"Name" : "Steve"
"Age" : 30
"Sex" : "M"
1: Array[3]
"Name" : "James"
"Age" : 25
"Sex" : "M"
2: Array[3]
"Name" : "Joe"
"Age" : 20
"Sex" : "M"
как бы мне это сделать? Спасибо, любая помощь будет оценена
Комментарии:
1. почему вы на самом деле хотите сделать это, имея объект, доступ к которому проще, чем к массиву кластеров.
2. У меня есть код, который проходит через каждый массив и помещает его в csv-файл, поэтому мне было бы проще создать эти объекты в массивах.
3. Вы не можете, массив может иметь только числовые индексы, а не пары ключ / значение, так как тогда это был бы объект.
Ответ №1:
Они пытаются сделать это следующим образом: если данные представляют собой массив объектов, то
for(var i = 0; i < $scope.exportData.length; i ) {
var arr = [];
for(j in $scope.exportData[i]) {
arr.push($scope.exportData[i][j]);
}
$scope.exportData[i] = arr;
}
Комментарии:
1. должен ли я заменить данные на $scope.exportData?
2. Я заменил data.length и (data[i]) на $scope.exportData и заменил data [i] = на newArray, и это в значительной степени работает, просто каждое значение возвращает «Name»:»Steve»» как я могу заставить его иметь только «Steve» в качестве значения?
3. Есть 53 элемента Имя, возраст и пол были просто примером. Я попытался выполнить другое разделение для : но получил ошибку 🙁 undefined не является функцией 🙁
4. Попробуй сейчас … Я думал, там есть только три поля. теперь я изменил для n полей
5. @Бхарат, почему ты используешь
arr.slice()
? Должно быть что-то вроде: jsbin.com/yimif/1/edit