我们需要将javascript object
中的数据传输到array
。初始化名为array
的新userDataArray
,并将object
中的所有数据添加到array
,方法是使用数字键从object
调用object
已添加到object
。
完成后,您应该从已经编写的array
获得相同的数据,但是在var userData = {
1: true,
2: true,
3: "00QRA10",
4: "slimer42",
5: "FFASN9111871-USN16"
};
var userDataArray = [0,1,2,3,4];
中,而不必分别重新键入每个变量。
query = "SELECT "
"a.Item1, a.Item2, a.Result1, a.Result2, b.skill "
"FROM formulas AS a "
"LEFT JOIN skills AS b "
"ON (Id = %u) "
"WHERE Type != 0 AND Result1 = %u OR Result2 = %u;";
答案 0 :(得分:2)
您可以使用Object.values之类的新函数从object获取值,使用Object.keys从对象获取键。
var userData = {
1: true,
2: true,
3: "00QRA10",
4: "slimer42",
5: "FFASN9111871-USN16"
};
var userDataArray = Object.values(userData)
答案 1 :(得分:0)
不确定这是不是你想要的......
var userData = {
1: true,
2: true,
3: "00QRA10",
4: "slimer42",
5: "FFASN9111871-USN16"
};
var outputArray = [];
for (var i = 0; i < Object.keys(userData).length; i++) {
outputArray.push(userData[Object.keys(userData)[i]]);
}
console.log(outputArray);
&#13;
将其分开:Object.keys(userData)
是键名的列表(数组)。在这种情况下,它是1,2,3,4和5. outputArray.push()
向数组添加一个元素。 Object.keys(userData)[i]
是我们所依赖的对象元素的名称,而userData[Object.keys(userData)[i]]
只是我们所依赖的元素。因此,每次我们通过for循环时,我们都会向数组中添加另一个元素。
您的示例使用1,2,3,4和5作为其元素名称,因此这样的事情可能会更好:
var userData = {
1: true,
2: true,
3: "00QRA10",
4: "slimer42",
5: "FFASN9111871-USN16"
};
var outputArray = [];
for (var i = 0; i < Object.keys(userData).length; i++) {
outputArray.push(userData[i+1]);
}
console.log(outputArray);
&#13;
在这个例子中,我们假设它是一个数字,并且数字是以1开头的序列,而不是从关键数组中取出元素名称。
是因为你没有从对象中调用数字。您将不得不使用userData.1
,userData.2
,userData.3
等。
答案 2 :(得分:0)
您可以遍历对象并使用键来获取值。
var userData = {
1: true,
2: true,
3: "00QRA10",
4: "slimer42",
5: "FFASN9111871-USN16"
};
var userDataArray = [];
for (var key in userData) {
userDataArray.push(userData[key])
}
console.log(userDataArray)
&#13;