Javascript 条件为真时重复for循环

Javascript 条件为真时重复for循环,javascript,Javascript,我有json值 这是我的JSON "notifications" : { "0" : { "FROM" : 1, "MSG" : "Admin Saravanan has sent new circular (Message from admin) ", "RECEIVE_TIME" : "2017-03-18 06:17:26", "SEND_TIME" : "2017-03-17 02:38:01", "STATUS" :

我有json值

这是我的JSON

"notifications" : {
    "0" : {
      "FROM" : 1,
      "MSG" : "Admin Saravanan has sent new circular (Message from admin) ",
      "RECEIVE_TIME" : "2017-03-18 06:17:26",
      "SEND_TIME" : "2017-03-17 02:38:01",
      "STATUS" : "ON",
      "TO" : "ALL",
      "TYPE" : "EVENT"
    },
    "1" : {
      "FROM" : 1,
      "MSG" : "New visitor muruganantham.k.m checkin your flat.",
      "RECEIVE_TIME" : "2017-03-23 06:33:06",
      "SEND_TIME" : "2017-03-23 11:45:26 am",
      "STATUS" : "ON",
      "TO" : "2",
      "TYPE" : "VISITORS"
    }
这个json被分配给arr值

这是我的功能

for(var i=0;i<arr.length; i++)
        {
            if(arr[i].STATUS === 'ON')
            {
                this.play();
            }   
        }

        this.play()
        {
            //arr[0].STATUS changed to OFF
            //Here Updated the value 
            //the status value changed to OFF.
        }
我需要for loop first arr[0]值更改为关闭状态。之后将降低arr[1]值

我怎样才能做到这一点

金尔迪建议我


谢谢。

您不能将JSON视为数组。 如果我理解你想做什么,但我不完全确定,应该是这样的: 使用Object.keysnotifications获取JSON对象的密钥,然后可以切换状态

var notifications = {
    "0" : {
        "FROM" : 1,
        "MSG" : "Admin Saravanan has sent new circular (Message from admin) ",
        "RECEIVE_TIME" : "2017-03-18 06:17:26",
        "SEND_TIME" : "2017-03-17 02:38:01",
        "STATUS" : "ON",
        "TO" : "ALL",
        "TYPE" : "EVENT"
    },
    "1" : {
        "FROM" : 1,
        "MSG" : "New visitor muruganantham.k.m checkin your flat.",
        "RECEIVE_TIME" : "2017-03-23 06:33:06",
        "SEND_TIME" : "2017-03-23 11:45:26 am",
        "STATUS" : "ON",
        "TO" : "2",
        "TYPE" : "VISITORS"
    }
}

var keys = Object.keys(notifications);
if (notifications.hasOwnProperty(keys[0]) {
    if (notifications[keys[0]].STATUS == 'ON') {
        notifications[keys[0]].STATUS = 'OFF';
    }
 }

我不明白你在这里想要实现什么。您想循环通知并处理每个对象吗?谢谢。我说arr[0]值已更改。这是第一个值的平均数组,现在处于打开状态,然后更新为关闭状态。在arr[1]值输入FORLOOP后,您可以帮助我吗?是的,我想循环通知每个对象。谢谢您的回复。如果状态值未更新且未重复loop.i如何在所有通知上循环:var keys=Object.keysnotifications;对于var i=0;i.长度;i++{if notifications.hasOwnPropertykeys[i]{//Do something}