Javascript 如何构造复杂的数据数组
我需要帮助理解创建一个数组的最简单方法,该数组包含4条信息和一个唯一的ID 我的目标是绘制4个数字加上一个ID,这是我试图检索的 然后我困惑的第二部分是找到一些方法来检查4个数字并获得ID。但是我真的很困惑如何在JS中创建这样一个数组Javascript 如何构造复杂的数据数组,javascript,Javascript,我需要帮助理解创建一个数组的最简单方法,该数组包含4条信息和一个唯一的ID 我的目标是绘制4个数字加上一个ID,这是我试图检索的 然后我困惑的第二部分是找到一些方法来检查4个数字并获得ID。但是我真的很困惑如何在JS中创建这样一个数组 有什么建议吗?您可以这样做: { "id": [ "data1", "data2", "data3", "data4"] } var list = [ {id: "135", data: [9,129,345, 687]}, {id:
有什么建议吗?您可以这样做:
{
"id": [ "data1", "data2", "data3", "data4"]
}
var list = [
{id: "135", data: [9,129,345, 687]},
{id: "239", data: [596,382,0,687,33467]}
];
list[0].id
list[0].data[0]
list[0].data[1]
list[0].data.length
var index = {
"135": [9,129,345, 687],
"299": [596,382,0,687,33467]
};
index["135"][0]
index["135"][1]
index["299"][0]
您可以这样构造它:
var map = {};
map[id] = [ "data1", "data2", "data3", "data4"]
如果您想到一个带有数字的对象,每个对象都有自己的id,您也可以这样做:
var map = {id1:"data1", id2:"data2", id3:"data3", id4:"data4"};
for(x in map) {
alert(x + ": " + map[x]);
}
如果您想要一个对象数组,并且每个对象都有四个数据段和一个id,您可以这样做:
{
"id": [ "data1", "data2", "data3", "data4"]
}
var list = [
{id: "135", data: [9,129,345, 687]},
{id: "239", data: [596,382,0,687,33467]}
];
list[0].id
list[0].data[0]
list[0].data[1]
list[0].data.length
var index = {
"135": [9,129,345, 687],
"299": [596,382,0,687,33467]
};
index["135"][0]
index["135"][1]
index["299"][0]
您可以这样访问数据:
{
"id": [ "data1", "data2", "data3", "data4"]
}
var list = [
{id: "135", data: [9,129,345, 687]},
{id: "239", data: [596,382,0,687,33467]}
];
list[0].id
list[0].data[0]
list[0].data[1]
list[0].data.length
var index = {
"135": [9,129,345, 687],
"299": [596,382,0,687,33467]
};
index["135"][0]
index["135"][1]
index["299"][0]
如果您想要一个按id编制索引的对象,并且每个id都有四个与之关联的数据段,您可以如下所示:
{
"id": [ "data1", "data2", "data3", "data4"]
}
var list = [
{id: "135", data: [9,129,345, 687]},
{id: "239", data: [596,382,0,687,33467]}
];
list[0].id
list[0].data[0]
list[0].data[1]
list[0].data.length
var index = {
"135": [9,129,345, 687],
"299": [596,382,0,687,33467]
};
index["135"][0]
index["135"][1]
index["299"][0]
您将通过以下方式访问此数据:
{
"id": [ "data1", "data2", "data3", "data4"]
}
var list = [
{id: "135", data: [9,129,345, 687]},
{id: "239", data: [596,382,0,687,33467]}
];
list[0].id
list[0].data[0]
list[0].data[1]
list[0].data.length
var index = {
"135": [9,129,345, 687],
"299": [596,382,0,687,33467]
};
index["135"][0]
index["135"][1]
index["299"][0]
如果您知道id并希望通过id查找数据,则可以使用第二种形式。如果您不知道id,只是希望能够轻松地遍历数据并查看id和数据是什么,那么您将使用第一种形式。如何使用If语句获得映射[id]?同样的方法:
If(map[“myid”]){console.log(map[“myid”]);}
将打印出您的数组。我的意思是-如果我试图从4个数据点中查找“myid”。如果我有4个数字,我需要检查数组并获取相关id。。如果不存在,则返回false?如果要在数组中查找某个内容,则可以执行map[“myid”]&&map[“myid”]。indexOf(…)
但是map[“myid”]是否建议我已经知道myid?cos im使用变量?因此数据在列表数组中是一种内部数组?@Dave-list
是一个对象数组,因此数组中的每个元素都是一个对象。每个对象都有两个属性,一个id
和data
。id
属性是一个字符串。data
属性是一个数字数组。我添加了第二种,根据您希望访问数据的方式组织数据的替代形式。@Dave,我不明白您的问题?我不会通过手动将数组的静态元素分配给特定的数组索引来声明它们。我声明数组的多个初始元素,就像我在上面的回答中所做的那样,使用多元素数据声明[1,99456,2]
。是的,我现在已经明白了你的意思,并且成功地使它工作了!谢谢