初步
首先,我们可以使用Array.prototype.reduce
方法来实现这个功能。这个方法可以将数组中的元素逐个处理,并根据需要将它们放入一个新的数组中。
接下来,我们可以使用Array.prototype.slice
方法来切割原始数组,以便创建新的子数组。
最后,我们将这些子数组放入一个新的数组中,以便返回结果。
思路详解:
首先,我们需要创建一个空数组来存储最终的结果。
然后,我们使用Array.prototype.reduce
方法遍历原始数组,将相同元素12开头的子数组放入新数组中。
在reduce方法的回调函数中,我们检查当前元素是否以12开头,如果是,则将其添加到当前子数组中;如果不是,则将当前子数组添加到最终结果数组中,并创建一个新的子数组来存储下一个以12开头的元素。
最后,我们返回存储结果的数组,即包含以相同元素12开头的子数组的数组。
下面是用JavaScript实现的代码:
实现
const originalArray = ['12','13','12','14', '12','23','24'];
const result = originalArray.reduce((acc, curr) => {
if (curr === '12') {
acc.push([curr]);
} else {
acc[acc.length - 1].push(curr);
}
return acc;
}, []);
打印
console.log(result);
// ['12', '13'], ['12', '14'], ['12', '23', '24']。