javascript - JS将MySQL行读入多维数组
问题描述
在我的 JS 脚本中,我有:
var originalArray = [
['t00', ['Apple', 'Banana', 'Carrot', 'Yike'], [25, 317, 2]],
['t01', ['Mozart', 'Beethoven'], [2, 30, 9, 77, 1, 20]]
];
有一段代码在其生命周期中运行一次,并将数组的所有项写入 MySQL 表:
两个数组字段“ tstArr1 ”和“ tstArr2 ”被定义为TEXT字段。
我可以更改它,以便它以任何格式将这两个数组写入数据库。
现在我读了这张表,需要originalArray
在一个名为的新空数组中重建newArray
:
var newArray = [];
但我无法让它与originalArray
.
这是我阅读和(未成功)填充的方式newArray
:
function readEvent() {
var xhr = new XMLHttpRequest();
xhr.open('GET', 'DB_read.php', true);
xhr.onload = function () {
if (this.status == 200) {
var DB_response = JSON.parse(this.responseText);
for (let i in DB_response) {
let tstArr1_from_db = DB_response[i].tstArr1;
let tstArr2_from_db = DB_response[i].tstArr2;
newArray.push(DB_response[i].tstName, tstArr1_from_db, tstArr2_from_db);
}
}
console.table(originalArray); //
console.log(originalArray[1][1][1]); // f o r
console.table(newArray); // d e b u g g i n g
console.log(newArray[1][1][1]); //
}
xhr.send();
}
“未定义”是显而易见的。
如何制作newArray
像原始数组一样的多维数组?
谢谢聪明的人。
(拜托,拜托....没有jquery)
解决方案
我假设您的响应是文本,所以数据是第一行'Apple, Banana, Carrot, Yike'
,'25, 317, 2'
那么您需要将字符串拆分为一个数组。
var originalArray = [
['t00', ['Apple', 'Banana', 'Carrot', 'Yike'], [25, 317, 2]],
['t01', ['Mozart', 'Beethoven'], [2, 30, 9, 77, 1, 20]]
];
//assumed your response have this structure
var DB_response = [
{tstName:'t00', tstArr1:'Apple, Banana, Carrot, Yike', tstArr2:'25, 317, 2'},
{tstName:'t01', tstArr1:'Mozart,Beethoven', tstArr2:'2, 30, 9, 77, 1, 20'}
];
function test() {
var newArray = [];
DB_response.forEach(function(db) {
field1 = db.tstName;
field2 = db.tstArr1.split(',').map(function(s) {return s.trim()})
field3 = db.tstArr2.split(',').map(function(s) {return s.trim()})
newArray.push([field1,field2,field3]);
})
console.log(originalArray,newArray);
}
<button onclick='test()'>Test</buton>
推荐阅读
- javascript - A*star 搜索算法在 2D Array 上的优化
- c# - 有没有办法使用 0 0 1-31/N * * Cron 表达式来安排每 N 天的工作而不会错过几天?
- c# - 如何禁用excel非自定义选项卡中的按钮?
- unreal-engine4 - 如何模拟对物体的重力,而不是向下
- extjs - ExtJS 4.2 锁定可编辑网格问题
- objective-c - Objective-C 中是否存在转义闭包/回调?
- java - 哈希图的大小是多少?我什么时候分配它?
- java - 如何解析不规则使用引号的 CSV 文件?
- gitlab - 来自市场的 GitLab 部署未在 helm 中链接
- assembly - uint32x2x2_t 和 int32x4_t 之间的 arm-neon 转换