[英]Concat arrays into array Javascript
我有一个具有一年中几个月的数组的函数。 在我的功能中,我删除了月份名称中的一些单词。 我的功能是
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); }
结果是["Ene"] ... ["Dic"]
但我想要有这样的东西: ["Ene", ... , "Dic"]
我怎样才能将结果连接成一个独特的数组?
问题:
在OP代码中,声明
var result = [array[i].slice(0, 3)];
在for
循环的每次迭代中创建一个变量result
并分配一个包含一个元素的数组,因此在循环完成执行后, 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);
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);
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);
slice()方法返回数组中的选定元素,作为新的数组对象。 - http://www.w3schools.com/jsref/jsref_slice_array.asp
substr()方法从指定位置的字符开始提取字符串的一部分,并返回指定数量的字符。 - http://www.w3schools.com/jsref/jsref_substr.asp
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.