Jump to content
  • 0

Помогите укоротить повторяющийся код


gurylyov
 Share

Question

Всю ночь думаю, как вот эти строки укоротить:

if(data1.code0 != undefined)
{
$("#code0").val(data1.code0);
$("#code0").attr('disabled','disabled');
}
if(data1.code1 != undefined)
{
$("#code1").val(data1.code1);
$("#code1").attr('disabled','disabled');
}
if(data1.code2 != undefined)
{
$("#code2").val(data1.code2);
$("#code2").attr('disabled','disabled');
}
if(data1.code3 != undefined)
{
$("#code3").val(data1.code3);
$("#code3").attr('disabled','disabled');
}
if(data1.code4 != undefined)
{
$("#code4").val(data1.code4);
$("#code4").attr('disabled','disabled');
}
if(data1.code5 != undefined)
{
$("#code5").val(data1.code5);
$("#code5").attr('disabled','disabled');
}
if(data1.code6 != undefined)
{
$("#code6").val(data1.code6);
$("#code6").attr('disabled','disabled');
}
if(data1.code7 != undefined)
{
$("#code7").val(data1.code7);
$("#code7").attr('disabled','disabled');
}
if(data1.code8 != undefined)
{
$("#code8").val(data1.code8);
$("#code8").attr('disabled','disabled');
}
if(data1.code9 != undefined)
{
$("#code9").val(data1.code9);
$("#code9").attr('disabled','disabled');
}

Пытаюсь с помощью for, но что-то не получается. Помогите, пожалуйста.

Edited by gurylyov
Link to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 0
В данном конкретном случае

Огромное спасибо! Не мог сообразить, как именно вот это правильно написать: data1['code' + i] Буду знать, что не только через точку можно :) Спасибо ещё раз.

Link to comment
Share on other sites

  • 0

gurylyov,

В данном конкретном случае

for (var i = 0; i < 10; i++) {
if(data1['code' + i] != undefined) {
$('#code' + i).val(data1['code' + i]);
$('#code' + i).attr('disabled', 'disabled');
}
}

А так да, нужно больше информации

А зачем там

!= undefined)

?

Это же проверка на true\false. Или я что-то делаю не так?

for (var i = 0; i < 10; i++) {
if(data1['code' + i]) {
$('#code' + i).val(data1['code' + i]);
$('#code' + i).attr('disabled', 'disabled');
}
}

Link to comment
Share on other sites

  • 0

А зачем там

!= undefined)

?

Это же проверка на true\false. Или я что-то делаю не так?

Если нужна проверка именно на underfined, то твой способ не подойдет.

if (x) делает проверку по нестрогому равенству, без соблюдения типов.

Попробуй запустить этот пример - http://jsfiddle.net/YaSdN/

  • Like 1
Link to comment
Share on other sites

  • 0

Если нужна проверка именно на underfined, то твой способ не подойдет.

if (x) делает проверку по нестрогому равенству, без соблюдения типов.

Попробуй запустить этот пример - http://jsfiddle.net/YaSdN/

Понятно, спасибо большое. Я думал что undefined будет давать false в любом случае. Надо освежить в памяти типизацию.

Link to comment
Share on other sites

  • 0

Понятно, спасибо большое. Я думал что undefined будет давать false в любом случае. Надо освежить в памяти типизацию.

Не, суть моего примера в том, что i = 0; if(i) - тоже будут давать false, несмотря на то, что переменная определена

Если мне не изменяет память, то по идее


false == undefined // true
false === undefined // false

Поправьте если я ошибся

Так это легко проверяется - http://jsfiddle.net/8pSRK/ :)

п.с. Хе... а вообще как-то так http://jsfiddle.net/rw7Tb/2/

Т.е. если переменная объявлена, но не определена, то if(i) сработает как false, если переменная не была объявлена, то вызовется ошибка.

Edited by sigma77
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy