有這樣乙個陣列:
[『法國』,』澳大利亞』,』智利』,』紐西蘭』,』西班牙』,』加拿大』,』阿根廷』,』美國』,』0』,』國產』,』波多黎各』,』英國』,』比利時』,』德國』,』義大利』,』義大利』,]現在希望讓每3個分成乙個陣列,像這樣:
[[『法國』,』澳大利亞』,』智利』],[『紐西蘭』,』西班牙』,』加拿大』],[『阿根廷』,』美國』,』0』],[『國產』,』波多黎各』,』英國』],[『比利時』,』德國』,』義大利』],[『義大利』],]第一種辦法:
var data = ['法國','澳大利亞','智利','紐西蘭','西班牙','加拿大','阿根廷','美國','0','國產','波多黎各','英國','比利時','德國','義大利','義大利',];
var result = ;
for(var i=0,len=data.
length;i
i+=3)
第二種辦法:
var countries= ['法國','澳大利亞','智利','紐西蘭','西班牙','加拿大','阿根廷','美國','0','國產','波多黎各','英國','比利時','德國','義大利','義大利'];
var chunkcountries = _.chunk(countries,3);
使用lodash的chunk方法,如果不想使用整個類庫,可以單獨引入這個方法
import chunk from "lodash/chunk";
var chunk =require("lodash/chunk");
如果你只想用引入的chunk,用這個:
第三種辦法:
var arr = ['法國','澳大利亞','智利','紐西蘭','西班牙','加拿大','阿根廷','美國','0','國產','波多黎各','英國','比利時','德國','義大利','義大利'],
newarr = ,
b;arr.foreach(function
(item, index, array)
newarr[a].push(item);
});
第四種辦法:
function
group
(array, subgrouplength)
return newarray;
}var countries = ['法國','澳大利亞','智利','紐西蘭','西班牙','加拿大','阿根廷','美國','0','國產','波多黎各','英國','比利時','德國','義大利','義大利',];
var groupedcountries = group(countries, 3);
第五種辦法:
var a = ['法國','澳大利亞','智利','紐西蘭','西班牙','加拿大','阿根廷','美國','0','國產','波多黎各','英國','比利時','德國','義大利','義大利'];
var b = ;
var result = ;
var k = 0;
for(var i = 0; iif(i%3 == 0) else
}result[k] = b;
k++;
}}console.log(result);
第六種辦法:
var chunk = function
(arr, num)
ret[ret.length - 1].push(item);
});console.log(ret);
return ret;
};// run
var source = ['法國','澳大利亞','智利','紐西蘭','西班牙','加拿大','阿根廷','美國','0','國產','波多黎各','英國','比利時','德國','義大利','義大利'];
chunk(source, 3);
第七種辦法:
var arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'];
function formatarray(arr)
}return result;
}formatarray(arr); // [['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h', 'i'], ['j']]
2023年4月19日 新增 陣列合併方法:
var
list = [
['11','22','33'],
['aa','bb'],
]//最終的結果是
varlist = [
['112233'],
['aabb']
]//方法一
varlist=list.map(function
(v) )
//方法二
var res =
for(i in list)
//方法三
var result = ;
for(var i = 0, k = list.length; i < k; i++)
頭像
暱稱鋒雲戰錦
小俞hiyohoo
外籍傑克
明就interjc
fotuo
陣列分組問題
這個問題是這個樣子滴 有乙個無序 元素個數為n n為偶數 的正整數陣列arr,要求 如何能把這個陣列分割為元素個數為n 2的兩個子陣列,並使兩個子陣列的的和最接近。我的思路是 1 把陣列拆成2個子陣列a和b 2 用a中的每個元素與b中的每個元素比較,陣列值之和的絕對值小於原來的值就交換 其實並不難,...
陣列(list)分組 分段
對乙個list進行分組,要求控制每組中的元素個數 1.使用切片分組 lst 1,2,3,4,5,6,7,8,9,8,7,6,5,4,3,2,1 lst可為空,最後返回值也為空 num 3 定義每組包含的元素個數 for i in range 0,len lst num print lst i i n...
PHP陣列分組操作
近期在開發過程中,遇到資料渲染 需要對指定的幾列進行重複資料合併單元格,想了一些方案,最終還是選擇在後台進行資料處理進行渲染 下面貼出實現 首先需要做乙個多維陣列根據指定索引字段進行分組的乙個演算法 public static function array val chunk array ret a...