Var tags = ["abcd", "aaacd", "ade"];

Estoy tratando de recorrer cada cadena en la matriz y encontrar su índice. Vuelva a recorrer los caracteres en cada cadena y encuentre su índice (p. Ej.)

$.each(arr, function( index, value ) {
    $.each(value.split(""), function( i, v ) {
        alert( i + ": " + v );
    });
});
1
dragonfly 9 sep. 2018 a las 10:30

4 respuestas

La mejor respuesta

Debe split() el valor con una cadena vacía para que se convierta en una matriz y pueda implementar .each():

value.split('')
var tags = ["abcd", "aaacd", "ade"];
$.each(tags, function( index, value ) {
  $.each(value.split(''), function( i, v ) {
    alert( i + ": " + v );
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
1
Mamun 9 sep. 2018 a las 08:10

Puede usar un Array.from anidado y asigne al final el índice y el valor.

var tags = ["abcd", "aaacd", "ade"],
    result = Array.from(tags, (s, i) => Array.from(s, (c, i) => [i, c]));
    
console.log(result);
0
Nina Scholz 9 sep. 2018 a las 07:57

Primero tienes que convertir la cadena a la matriz dentro de cada uno

var tags = ["abcd", "aaacd", "ade"];
$.each(tags, function( index, value ) {
     var va=value.split('');
    $.each(va, function( i, v ) {
        alert( i + ": " + v );
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
1
Vaibhav S 9 sep. 2018 a las 07:38

Hay numerosas formas de manejar este problema. También puedes usar .entries() en un for of loop:

var tags = ["abcd", "aaacd", "ade"];
for (var val of tags) {
  for (var [idx, char] of val.split('').entries()) {
    console.log(idx + " : " + char);
  }
};
0
Karan Dhir 9 sep. 2018 a las 09:28