【发布时间】:2021-12-16 06:21:37
【问题描述】:
我正在尝试遍历 JSON 对象并将值返回给另一个函数。
我想将其各自对象的quadrant1_x、quadrant1_y...quadrant4_y 的每个值传递给calculatePlot() 函数。但是我收到一个错误Uncaught TypeError: user is undefined
Javascript 看起来像这样:
function generateRandomUser() {
const user = consumeAPI()
return calculatePlot(user)
}
function consumeAPI() {
const graphs = @json($graphs); //received from the backend (Laravel)
for (let i = 0; i < graphs.length; i++) {
graphs.forEach((value, key) => {
console.log([key, value]);
return {
x1: (value.quadrant1_x * range),
y1: (value.quadrant1_y * range),
x2: (value.quadrant2_x * range),
y2: (value.quadrant2_y * range),
x3: (value.quadrant3_x * range),
y3: (value.quadrant3_y * range),
x4: (value.quadrant4_x * range),
y4: (value.quadrant4_y * range),
}
})
}
function calculatePlot(user) {
return [{
x: center + user.x1,
y: center - user.y1
}, {
x: center + user.x2,
y: center - user.y2
}, {
x: center + user.x3,
y: center - user.y3
}, {
x: center + user.x4,
y: center - user.y4
}]
}
for (let i = 0; i < maxUsers; i++) {
let plot = generateRandomUser();
let label = `Mid-point`;
addUser(plot, label);
calculateMidPoint(plot);
}
此代码生成笛卡尔图作为 SVG。因此,需要 x 和 y 的每个象限值来渲染图形。
示例:JSFiddle
【问题讨论】:
-
generateRandomUser函数期望consumeAPI函数返回一个用户,但它没有。 -
@Raj 你能提供来自你的 api 的示例数据吗
-
@ABDULLOKHMUKHAMMADJONOV Illuminate\Support\Collection {#1237 ▼ #items: array:4 [▼ 0 => array:8 [▼ "quadrant1_x" => "0.17" "quadrant2_x" => "0.53 " "quadrant3_x" => "-0.48" "quadrant4_x" => "-0.86" "quadrant1_y" => "0.31" "quadrant2_y" => "-0.21" "quadrant3_y" => "-0.60" "quadrant4_y" => "0.50" ] 1 => 数组:8 [▶] 2 => 数组:8 [▶] 3 => 数组:8 [▶] ] }
标签: javascript arrays laravel