假设我有this代码:
var denti={}
function Dente() {
this.ID = "";
this.Tipologia = "";
this.Lavorazione = "";
}
var dente = new Dente();
dente.ID="id1";
dente.Tipologia="tipo1";
dente.Lavorazione="lavoro1";
denti[dente.ID] = dente;
dente = new Dente();
dente.ID="id2";
dente.Tipologia="tipo1";
dente.Lavorazione="lavoro2";
denti[dente.ID] = dente;
dente = new Dente();
dente.ID="id3";
dente.Tipologia="tipo1";
dente.Lavorazione="lavoro1";
denti[dente.ID] = dente;
我需要检查所有字段
Tipologia
和Lavorazione
是否相同。在这种情况下,我要求
CheckArrayTipologia()
的函数应返回true
(所有.Tipologia
字段值都相同,tipo1
)。相反,
CheckArrayLavorazione()
应该返回false
(它们不是全部lavoro1
,而是一个lavoro2
)。您将如何在Javascript / jQuery中快速执行此操作?
最佳答案
这可以解决您的问题:
function CheckArrayTipologia() {
var tipologia;
for (dente in denti) {
if (!tipologia) {
tipologia = dente.Tipologia;
continue;
}
if (tipologia !== dente.Tipologia) {
return false;
}
}
return true;
}
DEMO
或搭配Lodash,简称:
function CheckArrayTipologia() {
var values = _.values(denti);
return _.every(values, 'Tipologia', _.first(values).Tipologia);
}
DEMO