从数据库访问多维数组并保存

时间:2017-01-31 15:34:26

标签: javascript arrays multidimensional-array

我有一个从数据库中获取的2D数组。它看起来像是:

arrayDB = [url1,name1,url2,name2,url3,name3, ...]

现在我想在我的代码中保存这个数组。我试过了:

function symbolsArray(syms){
    var tableArray = [];
    var tableArray2 = [];

    for (var i = 0; i < syms.length; i++) {
        tableArray[i] = syms[i][0]; //url
        tableArray2[i] = syms[i][1]; //Name
    }
}

但是,这种方法并不合适,因为我需要两个返回值。是否有更好的方法或方法来解决2D阵列中的内容?

Syms是数据库中的数据。

3 个答案:

答案 0 :(得分:1)

请看一下 How can I create a two dimensional array in JavaScript?

回答关于javascript中2d数组的类似问题。尝试像 -

这样的东西
function symbolsArray(syms){
    var tableArray = [];

    for (var i = 0; i < syms.length; i++) {
        tableArray[i] = [syms[i][0] , syms[i][1]];
    }
}

答案 1 :(得分:1)

你的数组不是二维的。你可以分开这样的网址和名字......

<ListView ItemsSource="{Binding toBinding, Mode=TwoWay}">
    <ListView.ItemTemplate>
        <DataTemplate>
           <Label Text="{Binding Name}" FontAttributes="Bold" />
        <DataTemplate>
    </ListView.ItemTemplate>
</ListView>

答案 2 :(得分:0)

如果你说得对,你的问题是你的代码需要返回两件事,但是返回只做一件,对吗?

可以返回一个对象:

return {names: tableArray2,urls:tableArray};

您可以像这样使用它:

var mydata=symbolsArray(arrayDB);
console.log(mydata.names,mydata.urls);

如果您只想深度克隆,请执行:

var cloned=JSON.parse(JSON.stringify(arrayDB));

或更优雅:

var cloned=arrayDB.map(el=>el.map(e=>e));