gpt4 book ai didi

javascript - 连续循环遍历给定数量项目的数据集

转载 作者:行者123 更新时间:2023-12-01 03:58:02 25 4
gpt4 key购买 nike

我有一个特定的数据集,如下所示:


3 # 测试用例数量
3 # 测试用例1有3个名称
阿尔弗雷德
辛格
约翰
6 # 测试用例2有6个名字
Α
硝基

理查德
安能
教皇
1 # 测试用例 3 有 1 个名称
菲利克斯

所以我已经对这个数据集进行了字符串化,我的问题是根据测试用例的数量循环整个数据集,而且我还必须考虑每个测试用例中的名称数量。我正在为此使用 javascript,这是我当前的代码。它只能做第一个测试用例:

var example = '3\n3\nALFRED\nSINGH\nJOHN\n6\nALPHA\nNITRO\nROB\nRICHARD\nANON\nPOPE\n1\nFELIX'

run(example)

function run(input) {
var lines = input.split('\n')
var testCases = lines[0]
lines.shift()
var n = lines[0]
lines.shift()
for (var i =0; i < n; i += 1) {
var names = lines[i]
console.log(names)
}
}

我的问题是循环遍历整个数据集,同时尊重测试用例和名称的数量。

答案多个正确答案。首先使用 JaromandaX 来识别问题。

其他问题

所以答案似乎返回所有名称的列表,而不考虑测试用例。目的是根据测试用例对名称进行分组。所以像这样的结构(理论上):

{
"1": ["ALFRED", "SINGH", "JOHN"],
"2": [...],
"3": ["FELIX"]
}

最佳答案

对测试用例使用外循环 - 内循环也需要稍作更改

var example = '3\n3\nALFRED\nSINGH\nJOHN\n6\nALPHA\nNITRO\nROB\nRICHARD\nANON\nPOPE\n1\nFELIX';

function run(input) {
var lines = input.split('\n')
var testCases = lines.shift();
var obj = {};
for (var x = 0; x < testCases; x++) {
var testCase = obj[x+1] = [];
var numberOfNames = lines.shift();
for (var i = 0; i < numberOfNames; i += 1) {
testCase.push(lines.shift());
}
}
return obj;
}
console.log(run(example));

注意,使用lines.shift()从行中“读取”值,因为shift返回被移动的行

关于javascript - 连续循环遍历给定数量项目的数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42467232/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com