2014-05-06 2 views
0

Je sais comment rechercher un support spécifique dans un tableau:Rechercher un support dans un thats tableau commence par un `+`

var arr = ['a','f','+']; 

if($.inArray('+', arr) != -1){ 
    alert("Contains a single +"); 
} 

Maintenant, ma question est la suivante: comment puis-je vérifier si le tableau contient crochets qui commencent par +. Et, si oui, combien de + contient ce support.

+0

Qu'est-ce que "comment je peux vérifier si le tableau contient des crochets qui beginn avec un +" signifie? – Andy

+0

Supports? Voulez-vous dire des articles? S'il vous plaît soyez plus explicite. Quel input/output avez-vous/attendez-vous? –

+0

Je veux dire des éléments comme "++" ou "+++". Les éléments qui ne contiennent que «+»! Merci –

Répondre

2

Utilisez une boucle régulière et correspondre avec une expression régulière de /^\++$/g:

var arr = ['a','f','+','foo','asd+asd', '+++++++']; 

for (var i = 0, arrLength = arr.length, match; i < arrLength; i++) { 
    match = arr[i].match(/^\++$/g); 

    if (match) { 
     console.log(arr[i] + ' contains ' + match[0].length + ' plus sign(s)'); 
    } 
} 

Sorties:

+ contains 1 plus sign(s) 
+++++++ contains 7 plus sign(s) 

Alternativement (car il est un peu difficile à comprendre votre question), ce qui suit compterait combien d'éléments dans le tableau étaient seulement des plus:

var arr = ['a','f','+','foo','asd+asd', '+++++++']; 

var onlyPlusses = []; 

for (var i = 0, arrLength = arr.length; i < arrLength; i++) { 
    if (arr[i].match(/^\++$/g)) { 
     onlyPlusses.push(arr[i]); 
    } 
} 

console.log('arr has ' + onlyPlusses.length + ' items that only consist of plusses'); 

Sorties:

arr has 2 items that only consist of plusses 
1

Utilisez un objet pour maintenir une liste des indices tableau tenir un compte plus.

var obj = {}; 
for (var i = 0, l = arr.length; i < l; i++) { 
    if (arr[i].indexOf('+') > -1) { 
    obj[i] = arr[i].match(/\+/g).length; 
    } 
} 

Demo

Exemple

var arr = ['a', '+', 'd', '+++'] // {1: 1, 3: 3} 
Questions connexes