使用javascript更改嵌套对象数据
Change nested object data with javascript
我想影响数组中的所有项。最终结果将是每个项目的decodeURIcomponent
。
它对我不起作用,所以我决定更改每个项目的值来检查代码。它不会改变任何事情。
有没有更好的方法可以做到这一点,因为真正嵌套的$.each
函数对我来说似乎有点多余
$(function() {
var hResponse = [];
hResponse.push("firstName", "lastName", "location");
var columns = [];
columns.push({
"firstName": "Edward",
"lastName": "Dane",
"location": " Here"
}, {
"firstName": "Arthur",
"lastName": "Dee",
"location": "There"
}, {
"firstName": "Cherry",
"lastName": "Red",
"location": "OverHere"
});
$.each(columns, function (key, value) {
$.each(value, function (key1, value2) {
value2 = "Meeeeep";
//value2 = decodeURIComponent(value2);
});
});
$('#my-table').dynatable({
dataset: {
records: columns
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<link href="https://s3.amazonaws.com/dynatable-docs-assets/css/jquery.dynatable.css" rel="stylesheet"/>
<script src="https://s3.amazonaws.com/dynatable-docs-assets/js/jquery.dynatable.js"></script>
<table id="my-table">
<thead>
<th>FirstName</th>
<th>LastName</th>
</thead>
<tbody></tbody>
</table>
<br>
JavaScript都是通过值传递的。为变量赋值不会更改另一个变量或属性的值(全局和with
作用域除外)。您必须将更改后的值重新指定给对象特性。
对您的代码进行最小的更改:
$.each(columns, function (key, value) {
$.each(value, function (key1, value2) {
value[key] = decodeURIComponent(value2);
});
});
相关文章:
- 将嵌套对象数据添加到窗体中
- 使用javascript更改嵌套对象数据
- 如何将状态对象/数据传递给(异步)ajax 回调
- 如何使用HTML5中的sessionStorage概念在Javascript中打印对象数据
- 如何在express中使用socket.io发布多个对象数据
- 如何在 Javascript 中将函数绑定到对象数据成员的更改
- 在$.ajax调用中将附加数据添加到jQuery包装的对象数据中
- 当点击处理程序添加到谷歌地图圆圈标记时,无法访问对象数据
- JavaScript对象数据和数组
- 访问主数组内的数组中的对象数据
- 角度.js从NG重复更新对象数据
- HTML 对象数据文件(如果未找到)
- 设置对象数据结构数组属性
- Ajax 请求不发送我的对象数据
- 获取对象数据的浅拷贝的最快方法是什么
- 如何访问对象的键值?希望从对象数据填充表
- JSON.parse 似乎不解析对象数据
- 在 android WebView 中的 java 和 javascript 之间共享对象(数据)
- 选择 JSON 对象数据表元素以列出其所有元素
- 当响应 JSON 对象数据计数为零时,AJAX 成功回调函数重定向到错误回调