LoDash Problem
LoDash can search dynamic object -array but it cannot do so with typed object-array.
JavaScript
console.clear();
function Event(e){
if (!e) return this;
this.id = e.id;
this.text = e.text;
}
Event.prototype.id = 0;
Event.prototype.text = null;
function Person(e){
this.id = e.id;
this.name = e.name;
this.event = new Event(e.event);
}
Person.prototype.id = 0;
Person.prototype.name = null;
Person.prototype.event = null;
function main(){
var typedArray = [];
typedArray.push(new Person({
id: 1,
name: "Adnan"
}));
typedArray.push(new Person({
id: 2,
name: "Adnan",
event: {
id: 101,
text: "Sample event"
}
}));
typedArray.push(new Person({
id: 3,
name: "Asif"
}));
var dynamicArray = JSON.parse(JSON.stringify(typedArray));
var typedResult = _.find(typedArray, {name: "Adnan", event: {id: 101}});
var typedResult1 = _.find(typedArray, function(p) {
return p.name === "Adnan" && p.event && p.event.id === 101;
});
var dynamicResult = _.find(dynamicArray, {name: "Adnan", event: {id: 101}});
console.log("typedArray: ", typedArray);
console.log("dynamicArray: ", dynamicArray);
console.log("typedResult: ", typedResult);
console.log("typedResult1: ", typedResult1);
console.log("dynamicResult: ", dynamicResult);
}
main();