我有一个具有一年中几个月的数组的函数。在我的功能中,我删除了月份名称中的一些单词。 我的功能是
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;
结果是["Ene"] ... ["Dic"]
但我希望有这样的一些:["Ene", ... , "Dic"]
我如何在一个独特的数组中连接结果?
答案 0 :(得分:3)
<强>问题:强>
在OP代码中,语句
var result = [array[i].slice(0, 3)];
在result
循环的每次迭代中创建变量for
并分配一个包含一个元素的数组,因此在循环完成执行后,result
变量将只包含最后一个元素["Dic"]
。
<强>解决方案:强>
要将元素添加到数组,请使用Array#push
。
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;
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;
答案 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