当前位置: 首页 > 知识库问答 >
问题:

javascript - js数组处理数据?

东方嘉木
2024-08-04
let arr = [  
    {id: 1, test: 5},  
    {id: 2, test: 4},  
    {id: 3, test: 5},  
    {id: 4, test: 6},  
];  

let num = 600;
num是最大数为600,然后根据arr数组里面的test的值之和(5+4+5+6)为20,
600 / 20 = 30;
希望得到下面的格式:
图片第一列5个输入框对应数组arr里面下标为0的test的值为5
图片第二列4个输入框对应数组arr里面下标为1的test的值为4
...

控制1-30之间的随机数里面的输入框修改的时候只能输入1-30的数,
控制31-60之间的随机数里面的输入框修改的时候只能输入31-60的数

求各位大佬帮忙看看。感激不尽...

共有1个答案

马丰
2024-08-04

根据您提供的信息,您想要实现一个功能,将数组 arr 中的 test 值分配到不同范围的输入框中,并且每个输入框的值只能属于其对应的数字范围。首先,我们需要计算每个 test 值应该分配到哪个范围的输入框。

您已经计算出 num 除以 arr 中 test 值的总和得到的结果是每个 test 值应该分配的输入框数量,即 30 个输入框。

下面是实现这个功能的JavaScript代码示例:

let arr = [
    { id: 1, test: 5 },
    { id: 2, test: 4 },
    { id: 3, test: 5 },
    { id: 4, test: 6 },
];

let num = 600;
let sumTest = arr.reduce((acc, curr) => acc + curr.test, 0);
let boxesPerTest = num / sumTest;

let inputBoxes = [];
for (let i = 0; i < arr.length; i++) {
    let currentTest = arr[i].test;
    let startRange = 1 + (i * (boxesPerTest * 30));
    let endRange = startRange + (currentTest * boxesPerTest) - 1;
    
    // 根据当前的test值,创建相应数量的输入框
    for (let j = 0; j < currentTest; j++) {
        let inputRange = {
            start: startRange + j * boxesPerTest,
            end: startRange + (j + 1) * boxesPerTest - 1
        };
        inputBoxes.push(inputRange);
    }
}

// 打印结果,您可以根据需要调整这部分代码以适应您的UI框架
inputBoxes.forEach((range, index) => {
    console.log(`第 ${index + 1} 列的输入框范围:${range.start}-${range.end}`);
});

这段代码首先计算了 arr 中所有 test 值的总和,然后计算了每个 test 值应该分配到的输入框数量。接着,它遍历数组 arr,为每个 test 值创建相应数量的输入框,并设置每个输入框的数字范围。

请注意,这段代码只是一个示例,您需要根据实际的UI框架和需求进行调整。例如,如果您使用的是HTML和JavaScript,您可能需要将这些输入框动态地添加到页面上,并为它们设置事件监听器以限制输入值的范围。

 类似资料:
  • 处理成 [11,1201,1304,1305]

  • js:求一个数据处理方法,例如上述例子, tableList处理之后,可以得到 之前有如下方案 但是不能兼容account.t_sub_account_.*的场景,哪位大佬可以帮忙完善下吗?

  • 数组个格式 请问大佬们怎么拿到name的值 跟 sub, 放到table表格展示, table表格列表是循环的

  • 主要内容:创建一个数组,访问数组,修改数组,迭代数组,数组的长度,在数组中创建结构数组类型并没有明确定义为批处理脚本中的类型,但可以实现。 在批处理脚本中实现数组时需要注意以下几点。 数组中的每个元素都需要用命令来定义。 循环将需要遍历数组的值。 创建一个数组 一个数组是通过使用下面的命令创建的。 其中是数组的索引,是分配给数组的第一个元素的值。 另一种实现数组的方法是定义一个值列表并遍历值列表。 以下示例显示了如何实现。 示例 以上命令产生以下输出 - 访问数组 可以使用下标

  • 右下角有一个按钮来控制滑块位置, 具体代码如下 但是当用户连续点击的时候页面就会卡死, 这个情况可以怎么进行防抖优化? debounce 是原先封装的方法, 但这个方法并不适用这个需求 debounce 是延迟执行, 也就是如果调这个方法传1秒, 那我点击这个按钮后1秒才开始执行里面的方法 想稍微改一下, 变成先执行, 后延迟1秒 (先执行$("html").animate, 并且在执行1期间将$

  • (自己模拟的数据效果) 如上路径动画,目前的问题是运行的坐标数据是依照地图来的 需要转换为画布能够展示的范围,但运行数据之前差别大部分情况下都很小 我要怎样处理会合适一点? help大佬们

  • ui是这样的 后台返回的数据如下: 由于是gaugingTableList是数组包含多个对象。 需求是要取到数组中下面的数组的要取箭头的值 请问大佬们 , 像这种 要如何实现跟ui给的原型图一样的效果 由于arr放回来的数据比较多。这边就写了这样的代码 es6语法 识别不了,只能用原生,因为是工具控制的

  • 本文向大家介绍jQuery数组处理函数整理,包括了jQuery数组处理函数整理的使用技巧和注意事项,需要的朋友参考一下 写在前面: jQuery的数组处理函数整理如下,如有补充和建议,欢迎评论交流~   1、$.trim(value)  从value中删除任何前导或尾随的空白字符   2、$.each(container, callback(key,value))  对container的每一项进