繁体   English   中英

Concat数组到数组Javascript

[英]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); 


使用Array#map

 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM