我已經查找了這些問題的答案 How to split a long array into small arrays, with JavaScript and Split array into chunks但我仍然不明白我做錯了什么。
我有多個看起來像這樣的隨機陣列
['dog']
['dog', 'cat']
['cat', 'apple', 'frog']
['apple', 'dog']
etc.
我想把它們分開 所以它們看起來像這樣
['dog']
['dog'] ['cat']
['cat'] ['apple'] ['frog']
['apple'] ['dog']
我想知道是否可以使用 foreach 回圈遍歷所有陣列并將它們拆分為單個陣列。
這就是我的代碼的樣子
var arrays = press.post_category;
arrays.forEach(function(item){
var arr = [];
var size = 1;
for (let i = 0; i < item.length; i = size)
arr.push(item.slice(i, i size));
console.log(arr);
});
這個的輸出是
["d","o","g"]
["d","o","g"," ","c","a","t"]
etc.
這不是我想要的。我不確定為什么將其拆分為每個單獨的字母而不是陣列中的每個值。
我試圖通過各種方式避免 SPLICE,并且僅在必要時使用 SLICE。
提前致謝。
uj5u.com熱心網友回復:
您可以.map()為每個陣列使用:
const animals = ['dog', 'cat', 'lama']
const result = animals.map(animal => [animal])
console.log(result)
// [ ['dog'], ['cat'], ['lama'] ]
然后,您可以將結果推送到另一個陣列中,或者您可以使用它.reduce()來生成最終結果。
uj5u.com熱心網友回復:
您可以在此處使用 map 來獲取這些單獨的值并將它們作為陣列回傳到一個新陣列中,只需將它們包裝在大括號中即可。
let arrays = ['cat', 'apple', 'frog'];
console.log(JSON.stringify(arrays));
let final = arrays.map(m=>{return [m]});
console.log(JSON.stringify(final));
您還可以定義一個拆分器函式,然后針對陣列呼叫它。
let arrays= ['cat', 'apple', 'frog'];
const splitter=(arr)=>arr.map(m=>{return [m]});
console.log(JSON.stringify(splitter(arrays)));
如果您必須在很多地方執行此操作,或者如果您有這些陣列的陣列并希望對其進行迭代并在每個陣列上使用拆分器常量,這將非常有用,如下所示:
let arrays = [
['dog'],
['dog', 'cat'],
['cat', 'apple', 'frog'],
['apple', 'dog']
];
const splitter=(arr)=>arr.map(m=>{return [m]});
let final = arrays.map(m=>{return splitter(m)});
console.log(final);
或者如果您需要使用未知深度的陣列遞回執行此操作:
let arrays = [
['dog'],
['dog', 'cat'],
[
['test', 'it', 'out'],
['cat', 'apple', 'frog']
],
[
['one', 'more'],
['two', 'more']
],
['apple', 'dog']
];
const splitter=(arr)=>arr.map(m=>{
return Array.isArray(m) ? splitter(m) : [m]
});
let final = splitter(arrays);
console.log(final);
uj5u.com熱心網友回復:
var arrays = [
'dog',
'dog,cat',
'cat,apple,frog',
'apple,dog'
];
var arr = [];
arrays.forEach((item) => arr.push(item.split(",")));
console.log(arr);
你的意思是這樣嗎?
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/364881.html
標籤:javascript 数组 片
上一篇:如何拆分多維陣列的字串
