对不起,如果我发布错误,第一次使用stackoverflow。但我无法将我的工作对象附加到我的页面。它在页面上,但未定义。这是我的代码
var work = {
"jobs": [{
"employer": "Marco Polo",
"title": "Waiter",
"location": "East Hartford,CT",
"dates": "2012 to present",
"description": "Serves tables and cleans up after restaurant"
}
]
};
work.display = function () {
work.jobs.forEach(function (job) {
console.log(job);
$("#workExperience").append(HTMLworkStart);
formattedEmployer = HTMLworkEmployer.replace("%data%", work.jobs.employer);
formattedTitle = HTMLworkTitle.replace("%data%", work.jobs.title);
var formattedEmployerTitle = formattedEmployer + formattedTitle;
$(".work-entry:last").append(formattedEmployerTitle);
formattedworkLocation = HTMLworkLocation.replace("%data%", work.jobs.location);
$(".work-entry:last").append(formattedworkLocation);
formattedworkDates = HTMLworkDates.replace("%data%", work.jobs.dates);
$(".work-entry:last").append(formattedworkDates);
formattedworkDescrip = HTMLworkDescription.replace("%data%", work.jobs.description);
$(".work-entry:last").append(formattedworkDescrip);
});
};
答案 0 :(得分:1)
您的代码正在遍历jobs数组,但该数组只有一个元素 - 一个包含作业信息的对象。如果你想迭代这些信息(雇主,标题,位置等),你需要在索引到数组后使用for ... in循环(迭代对象)。
for (var prop in work.jobs[0]) { ...}
答案 1 :(得分:0)
(真诚地道歉,如果这种情况不正确或被误导。首先发帖,请善待;社区对更好答案的任何指导都会非常感激)
我相信问题在于你的forEach循环。 在forEach循环内部" job"将引用work.jobs中的当前迭代。因此,它应该由job.employer引用,而不是引用work.jobs.employer。 您未定义的原因是因为您试图从jobs数组中检索雇主/标题/位置/等,而不是数组中包含的对象。
请尝试以下方法:
CREATE TABLE Tbl (
Subscription_ID INTEGER
,Start_Date DATE
,End_Date DATE
,Monthly_revenue INTEGER);
INSERT INTO Tbl (Subscription_ID, Start_Date, End_Date, Monthly_revenue)
VALUES (2384105,'2016-01-01','2016-06-01',500);
WITH cteTally AS (
SELECT 0 AS TallyNum
UNION ALL
SELECT 1
UNION ALL
SELECT 2
UNION ALL
SELECT 3
UNION ALL
SELECT 4
UNION ALL
SELECT 5
UNION ALL
SELECT 6
UNION ALL
SELECT 7
UNION ALL
SELECT 8
UNION ALL
SELECT 9
UNION ALL
SELECT 10
UNION ALL
SELECT 11
)
SELECT
Subscription_ID
,(t.Start_Date + (c.TallyNum * '1 month'::INTERVAL)) as "Month"
,Monthly_revenue
FROM
Tbl t
INNER JOIN cteTally c
ON (
(DATE_PART('year', t.End_Date) - DATE_PART('year', t.Start_Date)) * 12
+
(DATE_PART('month', t.End_Date) - DATE_PART('month', t.Start_Date))
) >= c.TallyNum
;