Je travaille avec Titanium, mon code ressemble à ceci:
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;
}
Je passe un index au tableau currentData
. Je ne suis toujours pas en mesure de détecter un élément inexistant à l'aide du code ci-dessus.
Utilisez typeof arrayName[index] === 'undefined'
c'est à dire.
if(typeof arrayName[index] === 'undefined') {
// does not exist
}
else {
// does exist
}
var myArray = ["Banana", "Orange", "Apple", "Mango"];
if (myArray.indexOf(searchTerm) === -1) {
console.log("element doesn't exist");
}
else {
console.log("element found");
}
J'ai dû envelopper la réponse de techfoobar dans un bloc try
..__catch
, comme suit:
try {
if(typeof arrayName[index] == 'undefined') {
// does not exist
}
else {
// does exist
}
}
catch (error){ /* ignore */ }
De toute façon, c'est comme ça que ça fonctionnait en chrome (sinon, le code s'arrêtait avec une erreur).
Considérons le tableau a:
var a ={'name1':1, 'name2':2}
Si vous voulez vérifier si 'name1' existe dans un, testez-le simplement avec in
:
if('name1' in a){
console.log('name1 exists in a')
}else
console.log('name1 is not in a')
Si les éléments de tableau sont aussi des objets simples ou des tableaux, vous pouvez utiliser some function:
// search object
var element = { item:'book', title:'javasrcipt'};
[{ item:'handbook', title:'c++'}, { item:'book', title:'javasrcipt'}].some(function(el){
if( el.item === element.item && el.title === element.title ){
return true;
}
});
[['handbook', 'c++'], ['book', 'javasrcipt']].some(function(el){
if(el[0] == element.item && el[1] == element.title){
return true;
}
});
S'il vous plaît, corrigez-moi si j'ai tort, maisAUTANT QUE JE SACHEce qui suit est vrai:
hasOwnProperty
"héritée" de Object
hasOwnProperty
peut vérifier si quelque chose existe dans un index de tableau.Donc, tant que ce qui précède est vrai, vous pouvez simplement:
const arrayHasIndex = (array, index) => Array.isArray(array) && array.hasOwnProperty(index);
usage:
arrayHasIndex([1,2,3,4],4);
sorties: false
arrayHasIndex([1,2,3,4],2);
sorties: true
Si vous utilisez underscore.js , ces types de contrôle nul et non défini sont masqués par la bibliothèque.
Donc, votre code va ressembler à ceci -
var currentData = new Array();
if (_.isEmpty(currentData)) return false;
Ti.API.info("is exists " + currentData[index]);
return true;
Il semble beaucoup plus lisible maintenant.
Cette voie est la plus facile à mon avis.
var nameList = new Array('item1','item2','item3','item4');
// Using for loop to loop through each item to check if item exist.
for (var i = 0; i < nameList.length; i++) {
if (nameList[i] === 'item1')
{
alert('Value exist');
}else{
alert('Value doesn\'t exist');
}
Et peut-être une autre façon de le faire est.
nameList.forEach(function(ItemList)
{
if(ItemList.name == 'item1')
{
alert('Item Exist');
}
}
vous pouvez simplement utiliser ceci:
var tmp = ['a', 'b'];
index = 3 ;
if( tmp[index]){
console.log(tmp[index] + '\n');
}else{
console.log(' does not exist');
}
Moyen simple de vérifier si un élément existe ou non
Array.prototype.contains = function(obj) {
var i = this.length;
while (i--)
if (this[i] == obj)
return true;
return false;
}
var myArray= ["Banana", "Orange", "Apple", "Mango"];
myArray.contains("Apple")
var fruits = ["Banana", "Orange", "Apple", "Mango"];
if(fruits.indexOf("Banana") == -1){
console.log('item not exist')
} else {
console.log('item exist')
}
var demoArray = ['A','B','C','D'];
var ArrayIndexValue = 2;
if(ArrayIndexValue in demoArray){
//Array index exists
}else{
//Array Index does not Exists
}
(typeof files[1] === undefined)?
this.props.upload({file: files}):
this.props.postMultipleUpload({file: files widgetIndex: 0, id})
Vérifiez si le deuxième élément du tableau n'est pas défini à l'aide de typeof
et en vérifiant undefined
Si vous cherchez quelque chose comme ça.
Voici l'extrait suivant
var demoArray = ['A','B','C','D'];
var ArrayIndexValue = 2;
if(demoArray.includes(ArrayIndexValue)){
alert("value exists");
//Array index exists
}else{
alert("does not exist");
//Array Index does not Exists
}