Concat数组到数组Javascript

时间:2015-12-04 08:54:01

标签: javascript arrays concat

我有一个具有一年中几个月的数组的函数。在我的功能中,我删除了月份名称中的一些单词。 我的功能是



var array = ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'];

for (var i = 0; i < array.length; i++) {
  var result = [array[i].slice(0, 3)];
  console.log(result);
}
&#13;
&#13;
&#13;

结果是["Ene"] ... ["Dic"] 但我希望有这样的一些:["Ene", ... , "Dic"] 我如何在一个独特的数组中连接结果?

3 个答案:

答案 0 :(得分:3)

<强>问题:

在OP代码中,语句

var result = [array[i].slice(0, 3)];

result循环的每次迭代中创建变量for并分配一个包含一个元素的数组,因此在循环完成执行后,result变量将只包含最后一个元素["Dic"]

<强>解决方案:

要将元素添加到数组,请使用Array#push

&#13;
&#13;
var array = ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'];

// Declare new empty array
var result = [];

// Loop over main array
for (var i = 0; i < array.length; i++) {
  // Add the new item to the end of the result array
  result.push(array[i].slice(0, 3));
}
console.log(result);
&#13;
&#13;
&#13;

使用Array#map

&#13;
&#13;
var array = ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'];

var months = array.map(function(e) {
  return e.substr(0, 3);
});
console.log(months);
&#13;
&#13;
&#13;

答案 1 :(得分:0)

result成为一个空数组并push()为它。

var result = [];
var array = ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'];
for(var i=0; i<array.length; i++){
   result.push(array[i].slice(0,3));
}
console.log(result);

答案 2 :(得分:0)

  

slice()方法返回数组中的选定元素,作为new   数组对象。 - http://www.w3schools.com/jsref/jsref_slice_array.asp

     

substr()方法从中开始提取字符串的一部分   指定位置的字符,并返回指定的数字   的人物。 - http://www.w3schools.com/jsref/jsref_substr.asp