56 lines
909 B
JavaScript
56 lines
909 B
JavaScript
|
let range = {
|
||
|
from: 1,
|
||
|
to: 5
|
||
|
}
|
||
|
|
||
|
range[Symbol.iterator] = function(){
|
||
|
|
||
|
return {
|
||
|
current: this.from,
|
||
|
last: this.to,
|
||
|
|
||
|
next(){
|
||
|
if(this.current <= this.last){
|
||
|
return {done: false, value: this.current++};
|
||
|
} else {
|
||
|
return {done: true};
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
};
|
||
|
|
||
|
|
||
|
for(let num of range){
|
||
|
console.log(num);
|
||
|
}
|
||
|
|
||
|
for(let ch of "tests"){
|
||
|
console.log(ch)
|
||
|
}
|
||
|
|
||
|
let arrayLike = {
|
||
|
0: "Hello",
|
||
|
1: "World",
|
||
|
length: 2
|
||
|
};
|
||
|
|
||
|
// Array.from
|
||
|
let arr = Array.from(arrayLike);
|
||
|
console.log(arr.pop()); // World
|
||
|
arr = Array.from(range);
|
||
|
console.log(arr); //1, 2, 3, 4, 5
|
||
|
arr = Array.from(range, num => num * num);
|
||
|
console.log(arr); //1, 4, 9, 16, 25
|
||
|
|
||
|
let s = "split";
|
||
|
let split_s = s.split('');
|
||
|
let arr_s = Array.from(s);
|
||
|
console.log(split_s);
|
||
|
console.log(split_s[0]);
|
||
|
console.log(split_s[1]);
|
||
|
console.log(split_s.length);
|
||
|
console.log(arr_s);
|
||
|
console.log(arr_s[0]);
|
||
|
console.log(arr_s[1]);
|
||
|
console.log(arr_s.length);
|