function updateGrid(featureSet) { var data = arrayUtils.map(featureSet.features, function (entry, i) { return { GENUS: entry.attributes.GENUS, id: entry.attributes.OBJECTID, COMMON_NAME: entry.attributes.COMMON_NAME, SPECIES: entry.attributes.SPECIES }; }); // If you use a store... dataStore = new Memory({ "data": data, "idProperty": "id" }); gridNoColumnSets3.set("store", dataStore); gridNoColumnSets3.startup(); }
Solved! Go to Solution.
<!DOCTYPE html> <html> <head> <link rel="stylesheet" href="http://js.arcgis.com/3.9/js/dojo/dijit/themes/claro/claro.css"> <script>dojoConfig = { async: true, parseOnLoad: true }</script> <script src="http://js.arcgis.com/3.9/"></script> <script> require(["dojo/_base/array", "dojo/_base/lang", "dojo/dom", "dojo/dom-construct", "dojo/on", "dojo/domReady!"], function (array, lang, dom, domConst, on) { var arrSalary = [ { surname: "Washington", name: "Paul", sightings: 200 }, { surname: "Gordon", name: "Amie", sightings: 350 }, { surname: "Gordon", name: "Sofie", sightings: 100 }, { surname: "Jaysons", name: "Josh", sightings: 2500 }, { surname: "Washington", name: "George", sightings: 10 }, { surname: "Jaysons", name: "Amber", sightings: 320 }, { surname: "Jaysons", name: "Amber", sightings: 3200 }, { surname: "Hill", name: "Strawberry", sightings: 290 }, { surname: "Washington", name: "Paul", sightings: 200 }, { surname: "Hill", name: "Master", sightings: 205 } ]; on(dom.byId("button"), "click", function () { var uniqueName = []; var raisedSalaries = array.filter(arrSalary, function (item) { var IsNameUnique = true; array.forEach(uniqueName, function (value) { var test = item.surname + item.name; if (value == (item.surname + item.name)) { IsNameUnique = false; } }); if (IsNameUnique) { uniqueName.push(item.surname + item.name); } return IsNameUnique; }); array.forEach(raisedSalaries, function (item, i) { var li = domConst.create("li"); li.innerHTML = i + 1 + ". " + item.surname + ", " + item.name + ". Sightings: " + item.sightings; dom.byId("filteredSalary-items").appendChild(li); }); array.forEach(arrSalary, function (item, i) { var li = domConst.create("li"); li.innerHTML = i + 1 + ". " + item.surname + ", " + item.name + ". Sightings: " + item.sightings; dom.byId("unFilteredSalary-items").appendChild(li); }); }); }); </script> </head> <body class="claro"> <button id="button" type="button">Unique</button> <br /> <div style="width: 300px; float: left; margin-top: 10px;"> Original list: <ul id="filteredSalary-items"></ul> </div> <div style="width: 300px; float: left; margin-top: 10px;"> Filted list: <ul id="unFilteredSalary-items"></ul> </div> </body> </html>
function updateGrid(featureSet) { var data = arrayUtils.map(featureSet.features, function (entry, i) { return { GENUS: entry.attributes.GENUS, id: entry.attributes.OBJECTID, COMMON_NAME: entry.attributes.COMMON_NAME, SPECIES: entry.attributes.SPECIES }; }); var unique2 = function(data){ var test = {}; var result = []; for (var i=0,len=arr.length; i < len; i++){ if (!test[arr]){ // value not seen yet? test[arr] = true; result.push(arr); } } return result; }; // If you use a store... dataStore = new Memory({ "data": result, "idProperty": "id" }); gridNoColumnSets3.set("store", dataStore); gridNoColumnSets3.startup(); }
<!DOCTYPE html> <html> <head> <link rel="stylesheet" href="http://js.arcgis.com/3.9/js/dojo/dijit/themes/claro/claro.css"> <script>dojoConfig = { async: true, parseOnLoad: true }</script> <script src="http://js.arcgis.com/3.9/"></script> <script> require(["dojo/_base/array", "dojo/_base/lang", "dojo/dom", "dojo/dom-construct", "dojo/on", "dojo/domReady!"], function (array, lang, dom, domConst, on) { var arrSalary = [ { surname: "Washington", name: "Paul", sightings: 200 }, { surname: "Gordon", name: "Amie", sightings: 350 }, { surname: "Gordon", name: "Sofie", sightings: 100 }, { surname: "Jaysons", name: "Josh", sightings: 2500 }, { surname: "Washington", name: "George", sightings: 10 }, { surname: "Jaysons", name: "Amber", sightings: 320 }, { surname: "Jaysons", name: "Amber", sightings: 3200 }, { surname: "Hill", name: "Strawberry", sightings: 290 }, { surname: "Washington", name: "Paul", sightings: 200 }, { surname: "Hill", name: "Master", sightings: 205 } ]; on(dom.byId("button"), "click", function () { var uniqueName = []; var raisedSalaries = array.filter(arrSalary, function (item) { var IsNameUnique = true; array.forEach(uniqueName, function (value) { var test = item.surname + item.name; if (value == (item.surname + item.name)) { IsNameUnique = false; } }); if (IsNameUnique) { uniqueName.push(item.surname + item.name); } return IsNameUnique; }); array.forEach(raisedSalaries, function (item, i) { var li = domConst.create("li"); li.innerHTML = i + 1 + ". " + item.surname + ", " + item.name + ". Sightings: " + item.sightings; dom.byId("filteredSalary-items").appendChild(li); }); array.forEach(arrSalary, function (item, i) { var li = domConst.create("li"); li.innerHTML = i + 1 + ". " + item.surname + ", " + item.name + ". Sightings: " + item.sightings; dom.byId("unFilteredSalary-items").appendChild(li); }); }); }); </script> </head> <body class="claro"> <button id="button" type="button">Unique</button> <br /> <div style="width: 300px; float: left; margin-top: 10px;"> Original list: <ul id="filteredSalary-items"></ul> </div> <div style="width: 300px; float: left; margin-top: 10px;"> Filted list: <ul id="unFilteredSalary-items"></ul> </div> </body> </html>
<div id="grid55" class="gridclassH" ></div>
// SNIP var uniqueName = []; var FilteredData= array.filter(data, function (item) { var IsNameUnique = true; array.forEach(uniqueName, function (value) { var test = item.GENUS + item.SPECIES; if (value == (item.GENUS + item.SPECIES)) { IsNameUnique = false; } }); if (IsNameUnique) { uniqueName.push(item.GENUS + item.SPECIES); } return IsNameUnique; }); alert(print_r(FilteredData)); //call it like this alert(print_r(data)); //call it like this // If you use a store... dataStore55 = new Memory({ "data":FilteredData, "idProperty": "id" }); grid55.set("store", dataStore55); grid55.startup();
function print_r(arr,level) { var dumped_text = ""; if(!level) level = 0; //The padding given at the beginning of the line. var level_padding = ""; for(var j=0;j<level+1;j++) level_padding += " "; if(typeof(arr) == 'object') { //Array/Hashes/Objects for(var item in arr) { var value = arr[item]; if(typeof(value) == 'object') { //If it is an array, dumped_text += level_padding + "'" + item + "' ...\n"; dumped_text += print_r(value,level+1); } else { dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n"; } } } else { //Stings/Chars/Numbers etc. dumped_text = "===>"+arr+"<===("+typeof(arr)+")"; } return dumped_text; }