我正在排序基于各种条件的对象数组。我可以在JavaScript对象中保存条件吗?
我想计算每个对象的各种条件,我不知道我应该如何achivie这一点。我能以某种条件语句添加到一个目标:通过
var conversions = [
{
name: "Användare",
conditional: conversion.time_gap > 0,
count: 0,
}
]
,然后循环并对其进行测试:
_.each(user.apilog, function(event){
_.each(conversions, function(conversion){
if(conversion.conditional){
conversion.count++;
}
})
})
这不会工作,因为time_gap里面user.apilog一个变量,没有定义,但像这样的东西。
不能没有_.each是怎么回事......我可以在转换使用转换回答.. – 2014-12-02 20:59:30
当你创建一个对象属性时,该值可以是任何JS表达式的结果。所以是的,你可以创建一个属性'conditional',它是评估'conversion.time_gap> 0'的结果。如果您将其作为'{conditional:conversion.time_gap> 0}'来执行,则该值将在创建该属性时进行设置。如果您需要在读取属性时动态评估它,最简单的方法就是使其成为一个方法:'''''''''''' }'。 – nnnnnn 2014-12-02 20:59:35
为什么不直接在'if'中评估'user.apilog.magicproperty'? – Aprillion 2014-12-02 21:00:47