I am trying to create a script in which it is needed to check if an object is already in an array, but am having difficulties.
Here is what i am trying to do:
var boardTiles = [{"id":70,"color":"y","number":11,"owner":"0","locked":false}];
var usedTiles = [{"id":42,"color":"y","number":"11"}];
var playableFields = [];
for (var i = 0; i < boardTiles.length; i++){
if(boardTiles[i].owner === "0" && boardTiles[i].number !== 13){
var thisTileJson = {
"color": boardTiles[i].color,
"number": ""+boardTiles[i].number
};
playableFields.push(thisTileJson);
}
}
for (var i = 0; i < usedTiles.length; i++){
var checkThis = false;
var thisUsedTileJson = {
"color": usedTiles[i].color,
"number": ""+usedTiles[i].number
};
console.log("ThisUsedTile: "+JSON.stringify(thisUsedTileJson));
console.log("ThisplayableField: "+JSON.stringify(playableFields[i]));
console.log("Is object in array:" +containsObject(thisUsedTileJson, playableFields));
}
function containsObject(obj, list) {
var i;
for (i = 0; i < list.length; i++) {
if (list[i] === obj) {
return true;
}
}
return false;
}
I thinks that I should be getting a "true" from the containsObject function but am getting a false?
My console.log looks like this:
ThisUsedTile: {"color":"y","number":"11"} VM1123:29 ThisplayableField: {"color":"y","number":"11"} VM1123:30 Is object in array: false
I really am in the dark and hoping for help.
Thanks in advance :-)