在javascrip中创建这种类型的数据结构

2024-04-29 01:51:43 发布

您现在位置:Python中文网/ 问答频道 /正文

data = [
    ('pale', 'ple', True),
    ('pales', 'pale', True),
    ('pale', 'bale', True),
    ('paleabc', 'pleabc', True),
    ('pale', 'ble', False),
    ('a', 'b', True),
    ('', 'd', True),
    ('d', 'de', True),
    ('pale', 'pale', True),
    ('pale', 'ple', True),
    ('ple', 'pale', True),
    ('pale', 'bale', True),
    ('pale', 'bake', False),
    ('pale', 'pse', False),
    ('ples', 'pales', True),
    ('pale', 'pas', False),
    ('pas', 'pale', False),
    ('pale', 'pkle', True),
    ('pkle', 'pable', False),
    ('pal', 'palks', False),
    ('palks', 'pal', False)
]
def test_one_away(data):
    for [test_s1, test_s2, expected] in data:
       print(test_s1, test_s2)

这个数据变量是用python定义的。如何在javascript中创建一个类似的数据数组,以便循环并打印上面显示的每个项目


Tags: 数据testfalsetruedatapass2s1
3条回答

使用Javascript objects

function makeTuple(s1, s2, expected) {
     return {
         s1: s1,
         s2: s2,
         expected: expected
     };
}

var data = [
    makeTuple('pale', 'ple', true),
    makeTuple('pales', 'pale', true),
    ...
];

for (var i = 0; i < data.length; i++) {
    var obj = data[i];
    console.log(obj.s1, obj.s2);
    // console.log(obj.expected);
}

或者您可以简单地使用数组:

var data = [
    ['pale', 'ple', true],
    ['pales', 'pale', true],
    ...
];

for (var i = 0; i < data.length; i++) {
    var obj = data[i];
    console.log(obj[0], obj[1]);
    // console.log(obj[2]);
}

一种非常简单的方法是将Python列表转换为Javascript数组,然后像往常一样在循环中访问它们,或者如果需要的话,将它们的值重新分配给局部变量。还要确保将布尔值转换为小写。以下示例与ES6之前的环境兼容:

var data = [
    ['pale', 'ple', true],
    ['pales', 'pale', true],
    // ...
];

for (var i = 0; i < data.length; ++i)
{
    var row = data[i];
    var test_s1 = row[0];
    var test_s2 = row[1];
    var expected = row[2];
    // ...
}

如果您的目标环境支持ES6,则可以使用以下变体:

const data = [
    ['pale', 'ple', true],
    ['pales', 'pale', true],
    // ...
];

for (let row of data)
{
    let [test_s1, test_s2, expected] = row;
    // ...
}

Javascript中的python代码可能如下所示。你知道吗

const data = [ ['pale', 'ple', true], ['pales', 'pale', true], ['pale', 'bale', true], ['paleabc', 'pleabc', true], ['pale', 'ble', false], ['a', 'b', true], ['', 'd', true], ['d', 'de', true], ['pale', 'pale', true], ['pale', 'ple', true], ['ple', 'pale', true], ['pale', 'bale', true], ['pale', 'bake', false], ['pale', 'pse', false], ['ples', 'pales', true], ['pale', 'pas', false], ['pas', 'pale', false], ['pale', 'pkle', true], ['pkle', 'pable', false], ['pal', 'palks', false], ['palks', 'pal', false] ] const printMyData = (data) => { data.forEach(arr => { console.log(arr[0] + ' ' + arr[1]) }) } printMyData(data)

您必须首先对实际数据进行一些重构,并确保布尔值是小写的。printMyData是一个函数,它接受这个数据,并且forEach()其中的数组记录它的第一个和第二个元素。你知道吗

相关问题 更多 >