Corezoid && JS = Трабл с Обектами и массивами
Помогите пожалуйста, необходимо написать код для сравнения данных которые у меня пришли, и затем если успешный поиск, то придать значение атребуту "NumberBaz" = 1 или если нет, то 2.
Мне приходят данные в таком виде: data: { "INF_NEW": [ { "P_CLIENTATTRS": [ { "FlSendAdv": null, "ViberFlag": "Y", "VerifyTrend": "0", "VerifyCodeAbs": "0", "VerifyCode": "0", "St": "A", "Number": "STANISLAV@BANK.UA", "Main": "Y", "GroupMain": "N", "ContactID": "565465", "ClientID": "8768678", }, ], "uaFName": "СТАНІСЛАВ", "PerMan": "", "Id": "8768678", "FlPhys": "Y", "FlJur": "N" }, { "CONT_INF": [ { "Remark": null, "FlSendAdv": null, "ViberFlag": "Y", "VerifyTrend": "0", "VerifySource": "UNKNOWN", "VerifyCodeAbs": "0", "VerifyCode": "0", "St": "O", "Source": "UNKNOWN", "PushFlag": "Y", "Number": "+3804354335", "Main": "N", "GroupMain": "N", "ContactID": "10767", "ClientID": "11486", } ], "uaMName": null, "uaLName": null, "uaFName": null, "PerMan": "", "Id": "11486", "FlPhys": "Y", "FlJur": "N" } ], "Phone_new": "+3804354335", "Email": "STANISLAV@BANK.UA", "Phone_no": 1, :help: Я пробую вытянуть данные таким образом: var P_CLIENTATTRS = data.INF_NEW.P_CLIENTATTRS for (var e in P_CLIENTATTRS) { if (P_CLIENTATTRS[e].Number == data.Email) // сравниваю на наличие необходимого мне атрибута {data.NumberBaz = 1} else {data.NumberBaz = 2} break; } var CONT_INF = data.INF_NEW.CONT_INF for (var j in CONT_INF) { if (CONT_INF[j].Number == data.Email) {data.NumberBaz = 1} else {data.NumberBaz = 2} в результате: "__conveyor_code_return_description__": "[{exception,<<\"ReferenceError: CONT_INF is n ot defined\">>}]", И еще по мимо всего прочего перезаписывается P_CLIENTATTRS на CONT_INF... уже 4й день ищу проблему(( Пожалуйста помогите... :help: :help: :help: |
Цитата:
data.INF_NEW Уже массив. ;) Цитата:
|
for (var e in P_CLIENTATTRS) {
if (P_CLIENTATTRS[e].Number == data.Email) // сравниваю на наличие необходимого мне атрибута я таким образом произвожу поиск елементов в этом массиве, ранее проходил поиск успешно, а именно в этом случае почему-то не отробатывается код и уходит в ошибки. Так-же не понимаю, почему происходит замена P_CLIENTATTRS на CONT_INF... |
вот решение моей задачи, вдруг кому-то пригодится:
data.flag=2 for (var i in data.INF_NEW) { for (var j in data.INF_NEW[i]) { for (var c in data.INF_NEW[i][j]) { if (data.INF_NEW[i][j][c].Number==data.Email) { data.test=data.INF_NEW[i][j][c].Number data.flag=1 alert(data.test); break; } } } } |
Часовой пояс GMT +3, время: 08:21. |