Javascript 循环遍历数组,并将子JSON转换为observablearray?
这可能是一个非常有名的问题,可能已经在堆栈溢出中解决了,但我一直在搜索,没有任何运气 我有一个由JSON字符串组成的数组。我试图循环遍历数组,并将JSON转换为observablearray,这样我就可以访问属性“value”、“name”、“price”,这样我就可以将它与Knockout一起使用 带有JSON的数组:Javascript 循环遍历数组,并将子JSON转换为observablearray?,javascript,arrays,json,knockout.js,Javascript,Arrays,Json,Knockout.js,这可能是一个非常有名的问题,可能已经在堆栈溢出中解决了,但我一直在搜索,没有任何运气 我有一个由JSON字符串组成的数组。我试图循环遍历数组,并将JSON转换为observablearray,这样我就可以访问属性“value”、“name”、“price”,这样我就可以将它与Knockout一起使用 带有JSON的数组: 0 : "{"value":"382","name":"Entrecoté med poteter og sånt..","price":295.0}" 1 : "{"valu
0
:
"{"value":"382","name":"Entrecoté med poteter og sånt..","price":295.0}"
1
:
"{"value":"385","name":"Svinekoteletter","price":295.0}"
2
:
"{"value":"386","name":"Pizza Margherita","price":255.0}"
completeArray.forEach(function(c) {
// convert the json string to an observableArray ??
});
初始循环:
0
:
"{"value":"382","name":"Entrecoté med poteter og sånt..","price":295.0}"
1
:
"{"value":"385","name":"Svinekoteletter","price":295.0}"
2
:
"{"value":"386","name":"Pizza Margherita","price":255.0}"
completeArray.forEach(function(c) {
// convert the json string to an observableArray ??
});
编辑
如果其他人来寻找解决方法,我将提供以下完整示例:
self.addFoodItemsToSubMenu = function (item) {
var existingFIS = JSON.parse(ko.toJSON(item.foodItemList()));
var newFIS = JSON.parse(ko.toJSON(self.selectedFoodItems()));
var completeFIS = existingFIS.concat(newFIS);
var resultArray = ko.observableArray(completeFIS.map(function (item) {
var parsedResult = JSON.parse(item);
var resultObject = {
value: parsedResult.value,
name: parsedResult.name,
price: ko.observable(parsedResult.price)
}
return resultObject;
}));
item.foodItemList(resultArray());
self.selectedFoodItems([]);
}
如果我没看错你的话:
var resultArray = ko.observableArray(completeArray.map(function(item) {
return JSON.parse(item);
}));
如果我没看错你的话:
var resultArray = ko.observableArray(completeArray.map(function(item) {
return JSON.parse(item);
}));
我会使用map,因为它将循环遍历数组中的每个项目,对其进行变换,然后将其吐出:
我会使用map,因为它会循环遍历数组中的每个项目,对其进行变换,然后将其吐出:
虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面更改,只有链接的答案可能会无效。我会检查一下:)感谢您的快速评论!虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面更改,只有链接的答案可能会无效。我会检查一下:)感谢您的快速评论!我知道这确实是想要的结果!。。但必须使“价格”属性成为可观察的。。因为它将被编辑。。知道我怎么做吗?好的。。你的方法解开了这个谜。。我已经用完整的函数更新了问题,以防有人过来寻找相同的解决方案……我发现这确实是想要的结果!。。但必须使“价格”属性成为可观察的。。因为它将被编辑。。知道我怎么做吗?好的。。你的方法解开了这个谜。。我已经用完整的函数更新了问题,以防有人过来寻找相同的解决方案。。。