Javascript 如何从函数中获取对象
我试图在函数CountAmountOneWeek中传递已更改的数据对象 但当我试图得到它,我得到的消息未定义 这是为了计算过去7天的金额,在计算完金额后,我将删除前7天,以便我可以再次计算7天的金额 [{日期:2016-01-05,用户id:1,用户类型:自然,类型: 现金收入,经营:{金额:200.00,币种:欧元}, {日期:2016-01-06,用户id:2,用户类型:司法,类型: 现金流出,业务:{金额:300.00,货币:欧元}, {日期:2016-01-06,用户id:1,用户类型:自然,类型: 现金流出,业务:{金额:30000欧元}, {日期:2016-01-07,用户id:1,用户类型:自然,类型: 现金流出,业务:{金额:1000.00,货币:欧元}, {日期:2016-01-07,用户id:1,用户类型:自然,类型: 现金流出,业务:{金额:100.00,货币:欧元}, {日期:2016-01-10,用户id:1,用户类型:自然,类型: 现金流出,业务:{金额:100.00,货币:欧元}, {日期:2016-01-10,用户id:2,用户类型:司法,类型: 现金收入,经营:{金额:1000000.00,币种:欧元}, {日期:2016-01-10,用户id:3,用户类型:自然,类型: 现金流出,业务:{金额:1000.00,货币:欧元}, {日期:2016-02-15,用户id:1,用户类型:自然,类型: 现金流出,业务:{金额:300.00,货币:欧元}] readJSON=函数{ fs.readFileargs,'utf8',functionerr,data{ 如果犯了错误,就扔出错误; obj=JSON.parsedata; //console.logobj; 打印结果Tobj; var sum=CountAmountIneoweeKobj; console.logSUM+sum[0]; console.logSUM+sum[1]。数据; }; } 我需要更改数据对象和总和Javascript 如何从函数中获取对象,javascript,arrays,function,object,return,Javascript,Arrays,Function,Object,Return,我试图在函数CountAmountOneWeek中传递已更改的数据对象 但当我试图得到它,我得到的消息未定义 这是为了计算过去7天的金额,在计算完金额后,我将删除前7天,以便我可以再次计算7天的金额 [{日期:2016-01-05,用户id:1,用户类型:自然,类型: 现金收入,经营:{金额:200.00,币种:欧元}, {日期:2016-01-06,用户id:2,用户类型:司法,类型: 现金流出,业务:{金额:300.00,货币:欧元}, {日期:2016-01-06,用户id:1,用户类型:
function countAmountInOneWeek(data) {
var recordRemoveIndex;
var sum = data[0].operation.amount;
for (var i = 1; i < data.length; i++) {
var date1 = new Date(data[0].date);
var date2 = new Date(data[i].date);
const diffTime = Math.abs(date2.getTime() - date1.getTime());
const difference = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
//console.log(diffTime + " Time " + difference);
if (difference < 7) {
sum = sum + data[i].operation.amount;
recordRemoveIndex = i;
}
}
for (var i = 0; i <= recordRemoveIndex; i++) {
data.shift();
}
console.log(data);
return [sum, data];
}
var数据=[{日期:2016-01-05,用户id:1,用户类型:自然,类型:
现金收入,经营:{金额:200.00,币种:欧元},
{日期:2016-01-06,用户id:2,用户类型:司法,类型:
现金流出,业务:{金额:300.00,货币:欧元},
{日期:2016-01-06,用户id:1,用户类型:自然,类型:
现金流出,业务:{金额:30000欧元},
{日期:2016-01-07,用户id:1,用户类型:自然,类型:
现金流出,业务:{金额:1000.00,货币:欧元},
{日期:2016-01-07,用户id:1,用户类型:自然,类型:
现金流出,业务:{金额:100.00,货币:欧元},
{日期:2016-01-10,用户id:1,用户类型:自然,类型:
现金流出,业务:{金额:100.00,货币:欧元},
{日期:2016-01-10,用户id:2,用户类型:司法,类型:
现金收入,经营:{金额:1000000.00,币种:欧元},
{日期:2016-01-10,用户id:3,用户类型:自然,类型:
现金流出,业务:{金额:1000.00,货币:欧元},
{日期:2016-02-15,用户id:1,用户类型:自然,类型:
现金流出,业务:{金额:300.00,货币:欧元}]
函数countAmountInOneWeekdata{
var recordRemoveIndex;
var sum=data[0]。operation.amount;
对于变量i=1;i console.log("SUM " + sum[0]);
console.log("SUM " + sum[1].data);
到
然后可以根据需要使用或修改json2
下面的代码显示它将返回正确的值
让json=[{日期:2016-01-05,用户id:1,用户类型:natural,类型:
现金收入,经营:{金额:200.00,币种:欧元},
{日期:2016-01-06,用户id:2,用户类型:司法,类型:
现金流出,业务:{金额:300.00,货币:欧元},
{日期:2016-01-06,用户id:1,用户类型:自然,类型:
现金流出,业务:{金额:30000欧元},
{日期:2016-01-07,用户id:1,用户类型:自然,类型:
现金流出,业务:{金额:1000.00,货币:欧元},
{日期:2016-01-07,用户id:1,用户类型:自然,类型:
现金流出,业务:{金额:100.00,货币:欧元},
{日期:2016-01-10,用户id:1,用户类型:自然,类型:
现金流出,业务:{金额:100.00,货币:欧元},
{日期:2016-01-10,用户id:2,用户类型:司法,类型:
现金收入,经营:{金额:1000000.00,币种:欧元},
{日期:2016-01-10,用户id:3,用户类型:自然,类型:
现金流出,业务:{金额:1000.00,货币:欧元},
{日期:2016-02-15,用户id:1,用户类型:自然,类型:
现金流出,业务:{金额:300.00,货币:欧元}};
//此代码应该在readJSON中找到
//我们只是使用上面的json数据直接运行它
//********************
var sum=countAmountInOneWeekjson;
console.logsum[0];//1032700
console.logsum[1][0];//因为sum[1]是[{date:'2016-02-15',user_id:1,user_type:'natural',type:'cash_out',operation:{amount:300,currency:'EUR'}]
//*********
***********
函数countAmountInOneWeekdata{
var recordRemoveIndex;
var sum=data[0]。operation.amount;
forvar i=1;iconsole.log(sum[0]); //1032700
console.log(sum[1][0]); // because sum[1] is [ { date: '2016-02-15',user_id: 1,user_type: 'natural',type: 'cash_out',operation: {amount: 300, currency: 'EUR' } } ]