Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JSONObject如何根据键值更改值?_Javascript_Json - Fatal编程技术网

Javascript JSONObject如何根据键值更改值?

Javascript JSONObject如何根据键值更改值?,javascript,json,Javascript,Json,我有这样一个json: [ { "pages": "foo1", "hasil": "" }, { "pages": "foo2", "hasil": "" }, { "pages": "foo3", "hasil": "" }, { "pages": "foo4", "hasil": "" },

我有这样一个json:

[
    {
        "pages": "foo1",
        "hasil": ""
    },
    {
        "pages": "foo2",
        "hasil": ""
    },
    {
        "pages": "foo3",
        "hasil": ""
    },
    {
        "pages": "foo4",
        "hasil": ""
    },
    {
        "pages": "foo5",
        "hasil": ""
    },
    {
        "pages": "foo6",
        "hasil": ""
    }
]
[
    {
        "pages": "foo1",
        "hasil": ""
    },
    {
        "pages": "foo2",
        "hasil": ""
    },
    {
        "pages": "foo3",
        "hasil": ""
    },
    {
        "pages": "foo4",
        "hasil": ""
    },
    {
        "pages": "foo5",
        "hasil": ""
    },
    {
        "pages": "foo6",
        "hasil": "1"
    }
]
所以我想根据页面值更改hasil键的值, 我该怎么做

编辑以明确询问

我想更改特定json键的值,如下所示:

[
    {
        "pages": "foo1",
        "hasil": ""
    },
    {
        "pages": "foo2",
        "hasil": ""
    },
    {
        "pages": "foo3",
        "hasil": ""
    },
    {
        "pages": "foo4",
        "hasil": ""
    },
    {
        "pages": "foo5",
        "hasil": ""
    },
    {
        "pages": "foo6",
        "hasil": ""
    }
]
[
    {
        "pages": "foo1",
        "hasil": ""
    },
    {
        "pages": "foo2",
        "hasil": ""
    },
    {
        "pages": "foo3",
        "hasil": ""
    },
    {
        "pages": "foo4",
        "hasil": ""
    },
    {
        "pages": "foo5",
        "hasil": ""
    },
    {
        "pages": "foo6",
        "hasil": "1"
    }
]

研究:,

据我所知,你的问题是什么,你在找这样的东西吗

风险值数据=[ { 页码:foo1, 哈西尔: }, { 页码:foo2, 哈西尔: }, { 页码:foo3, 哈西尔: }, { 页码:foo4, 哈西尔: }, { 第5页, 哈西尔: }, { 第6页, 哈西尔: } ]; forlet键在这个.data中{ 如果此.data[key].pages==“foo1”{ this.data[key].hasil='hello'; } }
控制台日志数据 迭代json对象并根据您的要求应用hasil:

var data = [
    {
        "pages": "foo1",
        "hasil": ""
    },
    {
        "pages": "foo2",
        "hasil": ""
    },
    {
        "pages": "foo3",
        "hasil": ""
    },
    {
        "pages": "foo4",
        "hasil": ""
    },
    {
        "pages": "foo5",
        "hasil": ""
    },
    {
        "pages": "foo6",
        "hasil": ""
    }
];

for(let obj of data){
  let pages = obj['pages'];
  if (pages.includes('foo')) {
    obj['hasil'] = "h" + pages;
  }
}

console.log(data);
你可以使用find

变量数组=[ { 页码:foo1, 哈西尔: }, { 页码:foo2, 哈西尔: }, { 页码:foo3, 哈西尔: }, { 页码:foo4, 哈西尔: }, { 第5页, 哈西尔: }, { 第6页, 哈西尔: } ]; var foundItem=array.findfunctionelement{ return element.pages==foo5; }; foundItem.hasil=123;
console.logarray;您想添加哪个值?什么是依赖?类似于if arr[0]。pages==='foo1'{arr[0]。hasil='bar';}?使用.forEach、for loop、.filter查找与页面匹配的对象,然后为hasil赋值。尝试使用for循环。您可以访问数组的每个对象,检查pages值,然后设置hasil值,这看起来不像是研究!