Я написал этот код. Кажется, он работает корректно через первый набор вложенных циклов. Когда я помещаю отладчик выше финального цикла, он вернет мне правильную вещь (и если я хочу вернуть newArray, он вернется). Что я делаю не так?Множество циклов, множество вопросов
Я хочу, чтобы он пропустил массив letterSplit, который я сделал из ввода, затем прокрутите массив значений и найдите соответствующее значение и нажмите соответствующее значение в newArray. Это работает с 1 буквой.
НО Я также хочу, чтобы он работал для нескольких букв, так что, если кто-то помещает в «кошку», он добавит их все в новый массив «total». Это то, что я пытался сделать с последним циклом цикла. Предложения? Идеи? Вы видите какое-то неуместное слово или символ?
var scrabble = function (letter) {
var newLetter = letter.toLowerCase();
var letterSplit = newLetter.split(" ");
var newArray = [];
var stupidArray = [];
var total = 0;
var values = [["a", 1], ["b", 3], ["c", 3], ["d", 2], ["e", 1], ["f", 4], ["g", 2], ["h", 4], ["i", 1], ["j", 8], ["k", 5], ["l", 1], ["m", 3], ["n", 1], ["o", 1],
["p", 3], ["q", 10], ["r", 1], ["s", 1], ["t", 1], ["u", 1], ["v", 4], ["w", 4], ["x", 8], ["y", 4], ["z", 10]];
for (var i=0; i < letterSplit.length; i++) {
for (var i=0; i < values.length; i++) {
if (values[i][0] === letterSplit[0]) {
newArray.push(values[i][1]);
stupidArray += letterSplit.splice(0,1);
}
}
}
for (var i=0; i < newArray.length; i++) {
total += i;
}
var result = total.toString();
return total;
};
FWIW: 'х + = y' -> х * не * массив после – user2864740
Вы распределяете строку на пространствах:' newLetter.split (»«); ', таким образом, она будет разделена up 'a cat' в' ['a', 'cat'] ', но не в буквы. Вы должны просто выполнить 'newLetter.split ('')'. – christian314159
Что именно должен делать этот код? Найти оценку для данного слова или что-то еще? –