Can Your Programming Language Do This?
console . log ( "Imagine There's No Heaven" ) ;
console . log ( "Imagine There's No Countries" ) ;
console . log ( "Imagine There's No Possessions" ) ;
function ImagineNo ( things ) {
console . log ( "Imagine There's No " + things ) ;
}
ImagineNo ( "Heaven" ) ;
ImagineNo ( "Countries" ) ;
ImagineNo ( "Possessions" ) ;
Say ( "Hakuna" ) ;
Say ( "Matata" ) ;
Say ( "Pole Pole" ) ;
console . log ( "Magic Word: Hakuna Matata Pole Pole" ) ;
Sing ( "Bibbidi" ) ;
Sing ( "Bobbidi" ) ;
Sing ( "Boo" ) ;
console . log ( "Magic Word: Bibbidi Bobbidi Boo" ) ;
function Say ( s ) {
console . log ( "Say: " + s ) ;
}
function Sing ( s ) {
console . log ( "Sing: " + s ) ;
}
Passing A Function As An Argument
function MagicWord ( s1 , s2 , s3 , fn ) {
fn ( s1 ) ;
fn ( s2 ) ;
fn ( s3 ) ;
console . log ( "Magic Word: " + s1 + " " + s2 + " " + s3 ) ;
}
MagicWord ( "Hakuna" , "Matata" , "Pole Pole" , Say ) ;
MagicWord ( "Bibbidi" , "Bobbidi" , "Boo" , Sing ) ;
MagicWord ( "Hakuna" , "Matata" , "Pole Pole" , function ( s ) { console . log ( "Say: " + s ) ; } ) ;
MagicWord ( "Bibbidi" , "Bobbidi" , "Boo" , function ( s ) { console . log ( "Sing: " + s ) ; } ) ;
var arr = [ 1 , 2 , 3 , 4 , 5 ] ;
for ( var i = 0 ; i < arr . length ; i ++ ) {
arr [ i ] *= 2 ;
}
for ( var i = 0 ; i < arr . length ; i ++ ) {
console . log ( arr [ i ] ) ;
}
function map ( fn , arr ) {
for ( var i = 0 ; i < arr . length ; i ++ ) {
a [ i ] = fn ( a [ i ] ) ;
}
}
var arr = [ 1 , 2 , 3 , 4 , 5 ] ;
map ( function ( x ) { return x * 2 ; } , arr ) ;
map ( console . log , arr ) ;
function sum ( arr ) {
var s = 0 ;
for ( var i = 0 ; i < arr . length ; i ++ ) {
s += arr [ i ] ;
}
return s ;
}
function join ( arr ) {
var s = "" ;
for ( var i = 0 ; i < arr . length ; i ++ ) {
s += arr [ i ] ;
}
return s ;
}
function reduce ( fn , arr , init ) {
var arr = init ;
for ( var i = 0 ; i < arr . length ; i ++ ) {
a = fn ( s , a [ i ] ) ;
}
return a ;
}
function sum ( arr ) {
return reduce ( function ( a , b ) { return a + b ; } , arr , 0 ) ;
}
function join ( arr ) {
return reduce ( function ( a , b ) { return a + b ; } , arr , 0 ) ;
}