Ich schreibe function objectify(str)
, die eine Zeichenfolge, verwandelt es in ein Array und erstellt ein neues Objekt mit dem Schlüssel Wert Paare als Wort und Index des Arrays, z.JavaScript für Schleife druckt unerwarteten Iteratorwert
objectify('the cat sat on the mat')
=> {die: 0, Katze: 1, sat: 2, auf: 3, mat: 4}
I die Funktion wie folgt geschrieben:
function objectify(str) {
var words = str.split(' ');
var object = {}
for (var i = 0; i < words.length; i++) {
object[words[i]] = i;
}
return object;
}
die gedruckt :
=> {die: 4, Katze: 1, sat: 2, auf: 3, mat: 5}
Q1. Was macht i
in diesem Fall?
ich für die Ausgabe wissen möchte ich die Funktion wie so geschrieben werden muss:
function countWords(str) {
var words = str.split(' ');
var object = {}
for (var i = 0; i < words.length; i++) {
object[words[i]] = words.indexOf(words[i]);
}
return object;
}
Q2. Gibt es einen eleganteren Weg, dies zu tun?