gokatz
4/11/2016 - 12:57 PM

All Enumerable

All Enumerable

{
  "version": "0.7.2",
  "EmberENV": {
    "FEATURES": {}
  },
  "options": {
    "use_pods": false,
    "enable-testing": false
  },
  "dependencies": {
    "jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.js",
    "ember": "https://cdnjs.cloudflare.com/ajax/libs/ember.js/2.4.4/ember.debug.js",
    "ember-data": "https://cdnjs.cloudflare.com/ajax/libs/ember-data.js/2.4.3/ember-data.js",
    "ember-template-compiler": "https://cdnjs.cloudflare.com/ajax/libs/ember.js/2.4.4/ember-template-compiler.js"
  }
}
<h1>Welcome to {{appName}}</h1>
<br>
<button {{action 'arrActions'}}> List Actions</button>
<ul>
{{#each result as |entry|}}
	<li>{{entry}}</li>
{{/each}}
</ul>
<br>
{{outlet}}
<br>
<br>
import Ember from 'ember';

export default Ember.Controller.extend({
  appName: 'Ember Twiddle',
  arr : ['add', 'sub', 'mul', 'div'],
  result: ['Nothing to display'],
  actions : {
  	arrActions() {
    	var arr = this.get('arr');
      var result = [];
      var details = [{name: 'gokul', age: 20},{name: 'raj', age: 22},{name: 'john', age: 21},];
      var names = ['gokul', 'raj', 'john'];
      result.pushObject(`Fisrt Object : ${arr.get('firstObject')}`);
      result.pushObject(`Last Object : ${arr.get('lastObject')}`);
      result.pushObject(`--- mapBy ---`);
      var age = details.mapBy('age');
      result.pushObject(`Mapped Array with Object : ${age}`);
      result.pushObject(`--- map ---`);
     	var nameMap = names.map(function(item, index) {
      	return `Mr. ${item}`;
      });
      result.pushObject(`Mapped Array : ${nameMap}`);
      result.pushObject(`--- filter - General ---`);
      var filterArr = details.filter(function(item, index, arr) {
        console.log(arr)
      	return item.age > 20;
      });
      console.log(filterArr);
      var nameOfAgeAbove20 = filterArr.mapBy('name');
      result.pushObject(`filtered Array : ${nameOfAgeAbove20}`);
      result.pushObject(`---  ---`);
      this.set('result', result);
    }
  }
});