[ES6] 10. Array Comprehensions

ES6 decided that Array Comprehensions will not included in this version, ES7 will include this. Therefore, only FireFox support this, you can test it under FireFox Firebug.html

Since CoffeeScrip also has array comprehension, let's go over how it looks in CoffeeScript first:express

for person in people
  console.log(person.name) if person.age > 18
console.log "#{person.name}" for person in people when person.age > 18
// In coffeeScrip,
//<expression> for <elm> in <list> when <elm> <condition>

Read More: http://www.cnblogs.com/Answer1215/p/4002666.htmlide

 

Array Comprehensions:ui


 

var people = [
    {
        firstName: "Allen",
        secondName: "Hook",
        email: "allen@abc.com"
    },
    {
        firstName: "Anton",
        secondName: "Tee",
        email: "tee@abc.com"
    },
    {
        firstName: "Yui",
        secondName: "Gegg",
        email: "gegg@abc.com"
    }
];

 

For example, I have a list of people, and I want to get all the emails into a spreate array:this

var emails = [for(person of people) person.email];
console.log(emails);

 

Ifspa

you can add if segement as well after for..of:3d

var emails = [for(person of people) if(person.firstName === "Yui") person.email];
console.log(emails); // ["gegg@abc.com"]

 

Mutli for..of:code

var nums = [1, 2, 3, 4, 5];
var letters = ["a", "b", "c", "d", "e"]

var battleship = [for(num of nums) for(letter of letters) num + letter]

console.log(battleship);
// ["1a", "1b", "1c", "1d", "1e", "2a", "2b", "2c", "2d", "2e", "3a", "3b", "3c", "3d", "3e", "4a", "4b", "4c", "4d", "4e", "5a", "5b", "5c", "5d", "5e"]

 

var nums = [1, 2, 3, 4, 5];
var letters = ["a", "b", "c", "d", "e"]

var battleship = [for(num of nums) [for(letter of letters) num + letter]]

console.log(battleship);

// [["1a", "1b", "1c", 2 more...], ["2a", "2b", "2c", 2 more...], ["3a", "3b", "3c", 2 more...], ["4a", "4b", "4c", 2 more...], ["5a", "5b", "5c", 2 more...]]

 

String can also be considered as an 'array':htm

let letter = [for (letter of 'abcde') if (/[aeiou]/.test(letter)) letter].join('');

console.log(letter); // ae
相關文章
相關標籤/搜索