javascript - Javascript在MVC视图中使用for循环创建动态数组
问题描述
我有一个来自控制器的名为statusList的状态列表。
@{
var statusList = @Html.Raw(Json.Encode(Model.Statuses));
}
我想像下面这样解析它。我在 javascript 中使用类似这样的数组:
var options = {
'0': '',
'1': 'Pending',
'2': 'In Progress',
'3': 'Done'
};
当我编写此硬编码以进行测试时,它按预期工作。但是当我尝试像这样在 for 循环中填充它时:
var options = [];
for (var i = 0; i < statusList.length; i++) {
var id = statusList[i]["Id"];
var name = statusList[i]["Status"];
options.push({id : name});
}
这写 [object Object] 来选择输入。我在这里做错了什么?
解决方案
尝试这样的事情。id 和 name 是动态的,因此在将其推送到数组时必须将它们放在括号中。你拥有它的方式 现在你的数组看起来像 : [{id : name},{id : name}]
。另外,您看到的原因[Object Object]
是您必须对结果进行字符串化才能看到里面的内容。
var options = [];
for (var i = 0; i < statusList.length; i++) {
var id = statusList[i].id;
var name = statusList[i].status;
options.push({[id] : [name]});
}
console.log(JSON.stringify(options))
推荐阅读
- google-bigquery - 满足条件时检查 LAG 和 LEAD 直到 NULL BigQuery
- amazon-web-services - 如何查询 AWS 堆栈输出?
- r - 使用 data.table 进行更动态的融合
- javascript - 如何通过某个值获取 Map 键?例如 Map.prototype.get -> 按最小值键
- javascript - 轻量级图表 - 未捕获的 ReferenceError:未定义轻量级图表
- apache-kafka - 如何处理具有类级别 @KafkaListener 的 Kafka 记录,而记录值没有 @KafkaHandler
- c# - 如何将可选的 RenderFragment 从父组件传递到 Blazor 中的子组件?
- azure - Azure 专用网络网关 - 删除传播的网络
- spring-webflux - springdoc-openapi-maven-plugin 与 spring.webflux.base-path 一起使用时不生成输出文件
- r - 如何在 R 中绘制 SVD/PCA 的距离双图和相关双图结果?