2016-03-22 14 views
1

, bir kod parçası yapmış js: Üçlü Operatörü Çoklu dönüş benim görev için

var data = userInfo.map(function (element) { 
    if (element[9].search("Active") != -1) { 
     return { 
      'LastName': Capitalizefirstletter(element[1]), 
      'FirstName': Capitalizefirstletter(element[2]), 
      'UserName': element[3], 
      'IsActiveUser': "True" 
     }; 
    } 
    else { 
     return { 
      'LastName': Capitalizefirstletter(element[1]), 
      'FirstName': Capitalizefirstletter(element[2]), 
      'UserName': element[3], 
      'IsActiveUser': "False" 
     }; 
    } 
} 

düzgün çalıştığını ve i, tüm tüm ayrıntılarını görebilirsiniz kullanıcı bilgilerini almak istediğiniz değişken verilerde kullanıcı.

Faktoring yaparken, bunu Üçlü Operatör kullanarak gerçekleştirmem istendi (Neden böyle bir değişiklik yapmam gerektiğini tahmin etmeme gerek yok). Bu yüzden denedim, kod çalıştı ama değişken verilerde sadece NULL değerini görebiliyorum.

var data = userInfo.map(function (element) { 
    (element[9].search("Active")) != -1 ? { 
     'LastName': Capitalizefirstletter(element[1]), 
     'FirstName': Capitalizefirstletter(element[2]), 
     'UserName': element[3], 
     'IsActiveUser': "True" 
    } : { 
     'LastName': Capitalizefirstletter(element[1]), 
     'FirstName': Capitalizefirstletter(element[2]), 
     'UserName': element[3], 
     'IsActiveUser': "False" 
    }; 
} 

Bu konuda bana yardımcı olan var mı? Peşin

Teşekkür

+0

'return' anahtar kelimesi eksik – cl3m

+0

' return' anahtar kelimesi nerede? –

+0

Evet, 'geri dönüş' –

cevap

4

, nesnenin içindeki karşılaştırma ekleyebilirsiniz.

var data = userInfo.map(function (element) { 
    return { 
     'LastName': Capitalizefirstletter(element[1]), 
     'FirstName': Capitalizefirstletter(element[2]), 
     'UserName': element[3], 
     'IsActiveUser': ~element[9].search("Active") ? "True": "False" // really a string? 
    }; 
}); 
+1

Bu harika! İşe yaradı. Teşekkürler. –

+1

Hat sayısı önemli olduğundan, bununla giderim. –

+1

@Agnes Gru Steven, düzenleme girişimi için teşekkürler. Kısmi bir gerginlik yaptın, bir yanlış ve bir eksik eksikti. –

3

Sizin map işlevi her tekrarında bir şeyler getirmesi gerekir. Sadece return anahtar kelime eklemek: Fark yalnızca bir özellik (IsActiveUser) olduğundan

var data = userInfo.map(function (element) { 
    return (element[9].search("Active")) != -1 ? { 
     'LastName': Capitalizefirstletter(element[1]), 
     'FirstName': Capitalizefirstletter(element[2]), 
     'UserName': element[3], 
     'IsActiveUser': "True" 
    } : { 
     'LastName': Capitalizefirstletter(element[1]), 
     'FirstName': Capitalizefirstletter(element[2]), 
     'UserName': element[3], 
     'IsActiveUser': "False" 
    }; 
} 
+0

Teşekkürler, Bu işe yaradı! :) –