gpt4 book ai didi

javascript - 使用 javascript 更改嵌套对象数据

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:33:46 27 4
gpt4 key购买 nike

我想影响数组中的所有项目。最终结果将是对每个项目进行 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 就是全部 pass-by-value .为变量赋值不会更改另一个变量或属性的值(在全局和 with 范围内除外)。您必须将更改后的值分配回对象属性。

对您的代码进行最少的更改:

$.each(columns, function (key, value) {
$.each(value, function (key1, value2) {
value[key] = decodeURIComponent(value2);
});
});

关于javascript - 使用 javascript 更改嵌套对象数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29287235/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com