Saya bekerja dengan Titanium, kode saya terlihat seperti ini:
var currentData = new Array();
if(currentData[index]!==""||currentData[index]!==null||currentData[index]!=='null')
{
Ti.API.info("is exists " + currentData[index]);
return true;
}
else
{
return false;
}
Saya meneruskan indeks ke array currentData
. Saya masih tidak dapat mendeteksi elemen yang tidak ada menggunakan kode di atas.
javascript
titanium
titanium-mobile
Pradeep
sumber
sumber
&&
) antara kondisi individual.Jawaban:
Menggunakan
typeof arrayName[index] === 'undefined'
yaitu
sumber
if(arrayName[index] === 'undefined')
sebagai pintasanif(arrayName[index] === undefined)
.sumber
if(myArray.indexOf(searchTerm) === -1)
Seseorang tolong perbaiki saya jika saya salah, tetapi AFAIK yang berikut ini benar:
hasOwnProperty
"yang diwarisi" dariObject
hasOwnProperty
dapat memeriksa apakah ada sesuatu di indeks array.Jadi, selama hal di atas benar, Anda dapat:
const arrayHasIndex = (array, index) => Array.isArray(array) && array.hasOwnProperty(index);
pemakaian:
arrayHasIndex([1,2,3,4],4);
output:false
arrayHasIndex([1,2,3,4],2);
output:true
sumber
Saya harus memasukkan jawaban techfoobar dalam
try
..catch
blok, seperti:... begitulah cara kerjanya di chrome, sih (kalau tidak, kode berhenti dengan kesalahan).
sumber
arrayName
itu sendiri (atauindex
) tidak ada. Cukup mengakses elemen array yang tidak terdefinisi seharusnya tidak menghasilkan "kesalahan"?Jika elemen array juga objek atau array sederhana, Anda dapat menggunakan beberapa fungsi:
sumber
some
adalah cara paling modern di sekitar sini. Ia bahkan bisa menjadi one-liner sepertimyArray.some(el => el.item === element.item && el.title === element.title)
Pertimbangkan array:
Jika Anda ingin memeriksa apakah 'name1' ada di a, cukup uji dengan
in
:sumber
sumber
Jika Anda menggunakan underscore.js maka jenis cek nol dan tak terdefinisi ini disembunyikan oleh perpustakaan.
Jadi kode Anda akan terlihat seperti ini -
Terlihat jauh lebih mudah dibaca sekarang.
sumber
Cara sederhana untuk memeriksa barang ada atau tidak
sumber
myArray[1000000] = 'Pear'
maka fungsi Anda akan memakan waktu selamanya.Cara ini paling mudah menurut saya.
Dan mungkin cara lain untuk melakukannya adalah.
sumber
sumber
Jika Anda mencari sesuatu seperti ini.
Berikut ini snippetr berikut
sumber
Array.includes
memeriksa apakah suatu nilai adalah sebuah arraydemoArray.indexOf(ArrayIndexValue) !== -1
. pertanyaan ini adalah tentang memeriksa apakah indeks ada dalam array, yang merupakan masalah yang sama sekali berbedaAnda cukup menggunakan ini:
sumber
tmp = [0,0,0,0]
kemudian tmp [3] harus adaPeriksa apakah item kedua dalam array tidak ditentukan menggunakan
typeof
dan memeriksaundefined
sumber
Ketika mencoba mencari tahu apakah indeks array ada di JS, cara termudah dan terpendek untuk melakukannya adalah melalui negasi ganda.
sumber
Ini persis untuk apa
in
operator itu. Gunakan seperti ini:The jawaban yang diterima adalah salah, itu akan memberikan negatif palsu jika nilai di
index
adalahundefined
:sumber
Jika ekspresi boolean
benar maka 0 terdapat di arr
sumber
Ini juga berfungsi dengan baik, pengujian berdasarkan jenis terhadap
undefined
.Uji:
sumber