JavaScript中的递归替换

时间:2014-02-21 18:31:15

标签: javascript

伙计们,我有以下JSON对象,我希望以foo递归地查找bar的每一次出现。

[Object]也可能包含foo,也需要替换。{/ p>

{ _id: 530797d8952e10129f97fde3,
  Product: 'something',
  Realm: [ 'something', 'something','foo' ],
  Service: 'Node',
  Owners: [ 'foo', 'something' ],
  Project: 'something',
  URLs:
    [ { 'foo': [Object] },
      { 'foo': [Object] },
      { 'foo': [Object] } ] }

我将如何循环?我试过但失败了:

var cleanObject = {}
for (key in dirtyObject) {
    key = key.replace('foo', 'bar');
    cleanObject[key] = dirtyObject[key];
}

1 个答案:

答案 0 :(得分:1)

提示:这不是“JSON对象”。没有“JSON对象”这样的东西。 “JSON”是一个表示对象的字符串。你有什么是对象文字。

然而,JSON可以提供帮助。考虑尝试:

var cleanObject = JSON.parse(JSON.stringify(dirtyObject).replace(/foo/g,'bar'));