[英]Create new array from objects
I am making something to add employees, calculate their ages and then calculate their average age.我正在做一些事情来添加员工,计算他们的年龄,然后计算他们的平均年龄。 I am returning json objects, but want to wrap them in a new array/json object.
我正在返回 json 对象,但想将它们包装在一个新的数组/json 对象中。 I am overlooking something simple :( can anybody help?
我忽略了一些简单的事情:(有人可以帮忙吗?
$('.calculateAverageAge').on('click', function() {
$('.item').each(function(key, item){
var val = {};
// Huidige datum
var currentDate = new Date();
// Nette datum in json object en haal jaar uit geboortedatum
var getCleanBirthday = $(item).find('.ageItem').val();
var getBirthday = new Date(getCleanBirthday);
// Jaren uit waardes halen
var nowYear = currentDate.getFullYear();
var pastYear = getBirthday.getFullYear();
// Bereken leeftijd
var getAge = nowYear - pastYear;
// Naam ophalen
var getName = $(item).find('.nameItem').val();
// Maak json object
var employee = {Employee:[{name: getName, birthdate: getCleanBirthday, age: getAge}]}
console.log(JSON.stringify(employee));
})
});
Use an employees
array, push each new employee
object into it, and then after the each
has finished, stringify employees
.使用一个
employees
数组,将每个新employee
对象推入其中,然后在each
完成后,将employees
字符串化。 Voila, an array of employee objects:瞧,一组员工对象:
$('.calculateAverageAge').on('click', function() {
var employees = [];
$('.item').each(function(key, item){
var val = {};
// Huidige datum
var currentDate = new Date();
// Nette datum in json object en haal jaar uit geboortedatum
var getCleanBirthday = $(item).find('.ageItem').val();
var getBirthday = new Date(getCleanBirthday);
// Jaren uit waardes halen
var nowYear = currentDate.getFullYear();
var pastYear = getBirthday.getFullYear();
// Bereken leeftijd
var getAge = nowYear - pastYear;
// Naam ophalen
var getName = $(item).find('.nameItem').val();
// Maak json object
employees.push({name: getName, birthdate: getCleanBirthday, age: getAge});
});
console.log(JSON.stringify(employees));
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.