Это из-за вашу работу Concat, здесь й индекс элемента в массиве д, Попробуйте этот код вы получите представление
var a = ['a', 'b', 'c'];
var b = ['d', 'e', 'f'];
var c = ['g', 'h', 'i'];
var d = [a, b, c];
var f ;
for (e in d){
console.log(e);
f = d.concat(e);
console.log(f);
}
console.log(f); //[Array[3], Array[3], Array[3], "2"]
Еще не cl что вы ожидаете.
Редактировать 1 Ожидаемое выход d массива. Поскольку вы уже определили два размерных массива d, имеющих все вышеперечисленное, нет необходимости его конкретизировать.
console.log(d);
Edit 2 Если вы что скопировать массив, используя этот код там wayaround
var a = ['a', 'b', 'c'];
var b = ['d', 'e', 'f'];
var c = ['g', 'h', 'i'];
var d = [a, b, c];
var f = [];
for (e in d){
console.log(e);
f[e] = d[e];
console.log(f);
}
console.log(f); //[Array[3], Array[3], Array[3]]
Приведенный выше код будет копировать массив д в массиве е
Что вы пытаетесь сделать? Какова цель? – nikhil
Целью является знание, поскольку https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in заявлено, что лучше использовать 'for .. in' для объектов, так что я сделал, и я не ожидаю результата, потому что я не дал никакого значения «2» где-нибудь –