有没有办法可以在JQuery中使用键和值创建数组?
我想循环遍历TFNDailySummaryReportData
数组,并将其DateWiseSalesData的Name属性指定为key,将DateWiseSalesData指定为值。
for (var i = 0; i < TFNDailySummaryReportData.length; i++)
{
var keyValueArray = {
Key: TFNDailySummaryReportData[i].DateWiseSalesData.Name;
value: TFNDailySummaryReportData[i].DateWiseSalesData
}
}
有可能实现这样的目标吗?如果是,怎么样?
答案 0 :(得分:5)
你非常接近,你可以定义一个数组并使用.push()
方法来填充它。
var arr=[];
for (var i = 0; i < TFNDailySummaryReportData.length; i++)
{
arr.push({
Key: TFNDailySummaryReportData[i].DateWiseSalesData.Name;
value: TFNDailySummaryReportData[i].DateWiseSalesData
})
}
您也可以使用.map()
var arr=TFNDailySummaryReportData.map(function(value){
return {
Key: value.DateWiseSalesData.Name;
value: value.DateWiseSalesData
}
});
答案 1 :(得分:0)
这与jQuery无关。数组是基本的JavaScript,您可以将基于KVP的对象映射到新数组:
使用ES6:
do {
let jsonResult = try JSONSerialization.jsonObject(with: data!, options: JSONSerialization.ReadingOptions.mutableContainers) as! [String: Any]
guard let results = jsonResult["results"] as? [Any], let resultDictinary = results.first as? [String: Any] else {
fatalError("Data structure invalid")
}
let title = resultDictinary["title"]
} catch {
print("JSON Preocessing failed")
}
使用ES5:
const keyValueArray = TFNDailySummaryReportData.map(x => {
return { [x.DateWiseSalesData.Name]: x.DateWiseSalesData };
});