Array.concat
создает новый массив - он не изменяет оригинал, поэтому ваш текущий код фактически ничего не делает.Он не изменяет arr
.
Итак, вам нужно изменить свою функцию на эту, чтобы увидеть, как она на самом деле работает:
function whatTheHeck(obj){
var arr = [];
for(o in obj){
arr = arr.concat(["what"]);
}
return arr;
}
whatTheHeck({"one":1, "two": 2});
Если вы пытаетесь просто добавить один элементв конец массива, .push()
- намного лучший способ:
function whatTheHeck(obj){
var arr = [];
for(o in obj){
arr.push("what");
}
return arr;
}
whatTheHeck({"one":1, "two": 2});
Это одна из вещей, которые я нахожу немного запутывающими в методах массива Javascript.Некоторые изменяют исходный массив, некоторые - нет, и нет соглашения об именовании, чтобы знать, что делать, а что нет.Вы просто должны прочитать и узнать, какая работа и каким образом.