[英]React JS - How to create child component dynamically based on HoC ajax response
[英]How to dynamically create a ARRAY based on a AJAX response?
获取AJAX响应后如何动态创建数组?
变量data.villages
是我的回复。
我使用jQuery每个函数循环它的值:
$.each(data.villages, function(key, value) {
//Here I have the 2 variables: value.id and value.name
//Now I need to build a array where the value.id is the KEY and the content is name : value.name
//After I need to create an array with all the arrays
});
我的最终数组应如下所示:
[ 234141 : [{ name: 'vila1', othervariable: 'othervalue' }] ]
我需要通过知道ID来获取名称值(或任何其他属性)....
您是否还可以通过了解ID来向我展示如何获取此数据的示例?
要从json响应中创建对象数组,您应该可以执行以下操作:
var arrayOfObjects = [];
for (var i = 0, var dataLength = data.villages.length; i < dataLength; i++) {
arrayOfObjects.push(data.villages[i]);
}
我认为你真正想要的是一个对象。 你可以像这样反对:
var objectFromJson= {};
for (var i = 0, var dataLength = data.villages.length; i < dataLength; i++) {
var currentItem = data.villages[i];
objectFromJson[currentItem.WhatEverPropertyYouWantForTheKey] = currentItem;
}
我认为你的最终阵列是错误的:
[ 234141 : [{ name: 'vila1', othervariable: 'othervalue' }] ]
一定是:
[
{ 234141 : [{ name: 'vila1', othervariable: 'othervalue' }] }
]
也就是说,一个数组的对象id = 234141,值为[{name:....}]
您可以通过以下方式实现:
data.villages = "your returned data array";
var newArray = [ { 234141: [] } ];
$.each(data.villages, function(key, value) {
newArray[0]['234141'].push({key: value};
}
你可以试试像
arr = new Array();
arr[value.key] = {var1: 'vila1', var2: 'vila2'};
你只是存放json
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.