登录 立即注册

找到11902个回复

老虎会游泳 20楼回复 echo醉老仙问一个js分割数组的问题, (2023-04-26//)

@echo醉老仙,我才发现,我和ChatGPT陷入了完全相同的逻辑陷阱。

把11个数分成均匀的5份是需要让其中一份有3个,其他有2个。

按3个分只能分4份。

按2个分会分出6份。

老虎会游泳 17楼回复 echo醉老仙问一个js分割数组的问题, (2023-04-26//)

@echo醉老仙,如果想用splice

var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]; 

var partSize = Math.ceil(arr.length / 5); 
while (arr.length > 0) {
   console.log(arr.splice(0, partSize)); 
}
老虎会游泳 16楼回复 echo醉老仙问一个js分割数组的问题, (2023-04-26//)

@echo醉老仙,不好意思我看错了,slicesplice是两个不同的函数。所以只要这样就行了:

var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
console.log(arrayParts(arr, 5));

function arrayParts(arr, n) {
    var result = [];
    var partSize = Math.ceil(arr.length / n); 
    for (var i = 0; i < arr.length; i += partSize) {
        result.push(arr.slice(i, i + partSize));
    }
    return result;
}
老虎会游泳 11楼回复 echo醉老仙问一个js分割数组的问题, (2023-04-26//)
层主 @老虎会游泳 于 2023-04-26 21:07 删除了该楼层。
echo醉老仙 10楼回复 echo醉老仙问一个js分割数组的问题, (2023-04-26//)

@老虎会游泳,元素个数11,份数5,我也没说份数是会变的,因此我只需要(合理)均分,很显然2楼的情况并无法实现,并且对其他数量的元素,尽可能(合理)均分,我说实话,看到这一堆回复,我差点以为是个假老虎,问个问题而已,你是受到什么刺激了

山海 9楼回复 希望自己长胖胖今天可以下载星穹铁道了 (2023-04-26//)
我uid100000096
老虎会游泳 9楼回复 echo醉老仙问一个js分割数组的问题, (2023-04-26//)
层主 @老虎会游泳 于 2023-04-26 20:33 删除了该楼层。
老虎会游泳 8楼回复 echo醉老仙问一个js分割数组的问题, (2023-04-26//)
层主 @老虎会游泳 于 2023-04-26 20:33 删除了该楼层。
老虎会游泳 7楼回复 echo醉老仙问一个js分割数组的问题, (2023-04-26//)
层主 @老虎会游泳 于 2023-04-26 20:33 删除了该楼层。
老虎会游泳 6楼回复 echo醉老仙问一个js分割数组的问题, (2023-04-26//)
层主 @老虎会游泳 于 2023-04-26 20:33 删除了该楼层。
老虎会游泳 5楼回复 echo醉老仙问一个js分割数组的问题, (2023-04-26//)
层主 @老虎会游泳 于 2023-04-26 20:33 删除了该楼层。
echo醉老仙 4楼回复 echo醉老仙问一个js分割数组的问题, (2023-04-26//)

@老虎会游泳,其实很简单,就是想均分,11个元素,分5份,一份至少2个,但是代码实现出来不行,如果改了除法取整,元素数量不一样又可能出现别的不均匀的情况

老虎会游泳 3楼回复 echo醉老仙问一个js分割数组的问题, (2023-04-26//)

@echo醉老仙,你首先需要描述你的目标,输入是什么,想得到的输出是什么,然后别人才能回答。

展示效果不佳的代码并不能让人推测出你的目标。

echo醉老仙 2楼回复 echo醉老仙问一个js分割数组的问题, (2023-04-26//)

希望的结果是:11个,足够分5份
结果是这样
image.png(24.74 KB)

老虎会仰泳 1楼回复 echo醉老仙问一个js分割数组的问题, (2023-04-26//)

您的代码中使用splice()函数来删减数组,但是如果数组元素个数不足时,splice()函数的行为会发生变化,导致错误的结果。另外,删减后的数组也不一定是均分的。

以下是一个根据数组长度均分数组的代码示例:

var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
var partCount = 5;  // 将数组分为5部分
var partSize = Math.ceil(arr.length / partCount);  // 每部分个数
var result = [];  // 存储结果的数组
for (var i = 0; i partCount; i++) {
  result.push(arr.slice(i * partSize, (i + 1) * partSize));  // 将分组结果添加到结果数组中
}
console.log(result);  // 输出结果

这个代码会将数组按照均等的部分分割,即使原数组元素个数不能被部分数整除也不会出现错误的结果。您可以根据需要调整partCount来分割为不同的部分数。
白日梦还是要做的blog.wz52.cn

寻梦xunm 8楼回复 希望自己长胖胖今天可以下载星穹铁道了 (2023-04-26//)

@彦祖,一个id就这么贵
本人缺点胆小如鼠

咯叽 31楼回复 张小强科大讯飞gpt (2023-04-26//)
层主 @咯叽 于 2023-05-07 00:53 删除了该楼层。
希望自己长胖胖 7楼回复 希望自己长胖胖今天可以下载星穹铁道了 (2023-04-26//)
@彦祖,这啥。
TabKey9 24楼回复 张小强科大讯飞gpt (2023-04-26//)
@老虎会游泳
老虎会游泳 23楼回复 张小强科大讯飞gpt (2023-04-26//)

@TabKey9,看起来GPT和文心一言都通过测试了

下一页 上一页 (216 / 596页)

5月2日 02:02 星期六

本站由hu60wap6驱动

备案号: 京ICP备18041936号-1