我有一个像这样的JSON对象:
var myObject = [
{
"Name" : "app1",
"id" : "1",
"groups" : [
{ "id" : "test1",
"name" : "test group 1",
"desc" : "this is a test group"
},
{ "id" : "test2",
"name" : "test group 2",
"desc" : "this is another test group"
}
]
},
{
"Name" : "app2",
"id" : "2",
"groups" : [
{ "id" : "test3",
"name" : "test group 4",
"desc" : "this is a test group"
},
{ "id" : "test4",
"name" : "test group 4",
"desc" : "this is another test group"
}
]
},
{
"Name" : "app3",
"id" : "3",
"groups" : [
{ "id" : "test5",
"name" : "test group 5",
"desc" : "this is a test group"
},
{ "id" : "test6",
"name" : "test group 6",
"desc" : "this is another test group"
}
]
}
];
我为特定的“ id”提供了“名称”的新值。如何在任何对象内替换特定“ id”的“名称”?
以及如何计算所有对象之间的组总数?
例如:将名称替换为“ test grp45”,ID =“ test1”
这是小提琴 http://jsfiddle.net/qLTB7/21/
以下函数将搜索对象及其所有子对象/数组,并将键替换为新值。它会在全球范围内应用,因此在第一次替换后不会停止。取消注释注释行,以使其成为注释。
function findAndReplace(object, value, replacevalue) {
for (var x in object) {
if (object.hasOwnProperty(x)) {
if (typeof object[x] == 'object') {
findAndReplace(object[x], value, replacevalue);
}
if (object[x] == value) {
object["name"] = replacevalue;
// break; // uncomment to stop after first replacement
}
}
}
}
可用的jsfiddle:http :
//jsfiddle.net/qLTB7/28/
问题内容: 我知道以前也曾问过类似的问题,但是这个问题有些不同。我有一个未命名对象的数组,其中包含一个已命名对象的数组,我需要获取“名称”为“字符串1”的对象。这是一个示例数组。 更新: 我应该早先说过,但是一旦找到它,我想用一个编辑过的对象替换它。 问题答案: 您可以遍历数组并测试该属性:
问题内容: 我有一个数组: 我无法更改数组的结构。我正在传递ID为,我想获取数组中的该对象。 如何在JavaScript或jQuery中做到这一点? 问题答案: 使用方法: 从MDN: 如果数组中的元素满足提供的测试功能,则该方法返回数组中的第一个值。否则返回。 如果要查找其 索引 ,请使用: 从MDN: 该方法返回满足提供的测试功能的数组中第一个元素的索引。否则返回-1。 如果要获取匹配元素的数
所以这个问题以前被问过,但我的情况有点不同,因为我已经尝试了这个网站中建议的所有解决方案,我有一个多提及数组: 我还有另一个小数组: 我只想找到与这个“dup”在同一行的“original”。到目前为止,我尝试了查找、过滤和grep,但这些都没有解决我的问题。 我尝试过的代码:
问题内容: 存在一个包含许多对象的数组。通过属性在此数组中查找一个或多个对象所必需。 输入obj: 输出结果:(以值4搜索“开始”) 问题答案: _findItemByValue(Obj,“开始”,4); 与除IE6,IE7,IE8以外的所有版本兼容,但存在polyfill。
问题内容: Swift在Underscore.js中是否有类似_.findWhere的内容? 我有一个类型为struct的数组,想检查array是否包含属性等于的struct对象。 尝试使用,但它们仅适用于基本类型,例如或。引发有关不符合协议之类的错误。 问题答案: FWIW,如果您不想使用自定义功能或扩展名,则可以: 首先生成数组,然后从中生成数组。 如果阵列很大,则可能需要执行以下操作: 或许
我有一个关于查找数组中对象的计数的问题。我的数组是: 我试图在totalPositions数组中找到每个位置的总计数,因此我的最终数组将如下所示: 我创建了一个函数来求和“总位置”数组中的每个位置,并将总和推入总位置计数。我的函数完成了这项工作,我得到了总计数,但它改变了父数组“完整位置”,第一个“完整位置”的“总位置”被“总位置计数”数组替换。我试图创建一个备份的完整位置,并使用它的计算,仍然两