gpt4 book ai didi

javascript - 使用 JSON 数组中相似键的值创建一个数组

转载 作者:行者123 更新时间:2023-11-30 07:32:15 27 4
gpt4 key购买 nike

我有一个 JSON 数组格式的数组。我想提取公共(public)键的值并以此创建一个新数组。这个我试过了

var date = [];
var amt = [];
for(var i in data){
date.push(data[i].sale_date);
amt.push(data[i].total);
}

其中 sale_datetotal 是键。但是这段代码返回了一个 undefined object 的数组。我的名为 data 的数组看起来像

{"sale_date":"2017-12-26 11:05:05","total":"500"}{"sale_date":"2017-12-26 11:05:18","total":"500"}

我期待两个数组 date[2017-12-26 11:05:05, 2017-12-26 11:05:18 ]amt[500, 500] 我从下面的代码中获取 data 作为 ajax 响应。

$sql = "SELECT sale_date, total FROM customers";
$result = $conn->query($sql);
if($result->num_rows>0){
while($row=$result->fetch_assoc()){
$db_data = $row;
print json_encode($db_data);
}
}

这就是我的 ajax 请求的样子

$(document).ready(function(){
$.post("ajax-req-handler.php",
{
key: "draw-line-chart"
},
function( data ){
console.log(data);
var date = [];
var amt = [];
for(var i in data){
date.push(data[i].sale_date);
amt.push(data[i].total);
}
console.log(date);
console.log(amt);
});
});

最佳答案

var data = [
{"sale_date":"2017-12-26 11:05:05","total":"500"},{"sale_date":"2017-12-26 11:05:18","total":"500"}
];

var date = [];
var amt = [];
for(var i in data){
console.log(i);
date.push(data[i].sale_date);
amt.push(data[i].total);
}

console.log(date);
console.log(amt);

PHP 代码:-

    $sql = "SELECT sale_date, total FROM customers";
$result = $conn->query($sql);
$data = array();
if($result->num_rows>0){
while($row=$result->fetch_assoc()){
$db_data[] = $row;
}
}
echo json_encode($db_data);

Ajax 请求:-

$(document).ready(function(){
$.post("ajax-req-handler.php",
{
key: "draw-line-chart"
},
function( data ){
console.log(data);
data = JSON.parse(data);
var date = [];
var amt = [];
for(var i in data){
date.push(data[i].sale_date);
amt.push(data[i].total);
}
console.log(date);
console.log(amt);
});

});

关于javascript - 使用 JSON 数组中相似键的值创建一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47988232/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com