Weitere ähnliche Inhalte Ähnlich wie Useful javascript Ähnlich wie Useful javascript (20) Kürzlich hochgeladen (20) Useful javascript2. 他山之石,可以攻玉
Stones from other hills may serve
to polish the jade of this one.
advice from others may help one
overcome one's shortcomings.
3. Ruby
A Programmer’s Best Friend
This time we use Ruby to polish our
Jade.
4. Integer.times
(10).times(function
10.times do |i|
(i){
print i*10, " "
print( i*10 + “ ”);
end
});
5. Number.step
1.step(10, 2) { |i| print i, " " }
Math::E.step(Math::PI, 0.2) { |f| print f, " " }
(1).step(function(i){ print(i); }, 10, 2);
Math.E.step(function(f){ print(f); },
9. String.insert
"abcd".insert(-3, 'X') #=> 'abXcd'
"abcd".insert(-1, 'X') #=> 'abcdX'
"abcd".insert(1, 'X') #=> 'aXbcd'
"abcd".insert(-3, 'X') > 'abXcd'
"abcd".insert(-1, 'X') > 'abcdX'
"abcd".insert(1, 'X') > 'aXbcd'
11. String Object
casecmp insert
each_char
capitalise
strip swapcase
start_with
end_with
reverse
12. Array.each
[1,2,3].each {|i| print i+5 } #=> 6 7 8
[1,2,3].each(function(i){ print( i+5) }) > 6 7 8
[1,2,3].reverse_each(function(i){ print( i+5) }) >
8 7 6
[{a:1,b:2},{a:2,b:3},{a:3,b:4}].each(function(item){
print(item.a+item.b)
}) > 3 5 7
13. Array.map
a = [ "a", "b", "c", "d" ]
a.map {|x|x+"!" } #=> ["a!", "b!", "c!", "d!"]
a #=> ["a", "b", "c", "d"]
var a = [ "a", "b", "c", "d" ];
a.map(function(i,item){return x+”!”}) > ["a!",
"b!", "c!", "d!"]
a > [ "a",
"b", "c", "d" ]
14. Array.remove_if
(Array.reject)
[ "a", "b", "c" ].reject {|x| x>="b" } #=> ["a"]
[ "a", "b", "c" ].reject( function(i,x) {return x >=
"b" })
15. a = [ 4, 5, 6 ]
Array.zip
b = [ 7, 8, 9 ]
[1,2,3].zip(a, b) #=> [[1, 4, 7], [2, 5, 8], [3,
6, 9]]
[1,2].zip(a,b) #=> [[1, 4, 7], [2, 5, 8]]
a.zip([1,2],[8]) #=> [[4, 1, 8], [5, 2, nil],
var a = [ 4, 5, 6 ];
[6, nil, nil]]
var b = [ 7, 8, 9 ];
[1,2,3].zip(a, b) > [[1, 4, 7], [2, 5, 8], [3, 6,
9]]
[1,2].zip(a,b) > [[1, 4, 7], [2, 5, 8]]
a.zip([1,2],[8]) > [[4, 1, 8], [5, 2, null], [6,
null, null]]
16. Array.transpose
a = [[1,2], [3,4], [5,6]]
a.transpose #=> [[1, 3, 5], [2, 4,
6]]
var a = [[1,2], [3,4], [5,6]];
a.transpose() > [[1, 3, 5], [2, 4,
6]]
17. Array.rotate
a = [ "a", "b", "c", "d" ]
a.rotate #=> ["b", "c", "d", "a"]
a #=> ["a", "b", "c", "d"]
a.rotate(2) #=> ["c", "d", "a", "b"]
a.rotate(-3) #=> ["b", "c", "d", "a"]
var a = [ "a", "b", "c", "d" ];
a.rotate() > ["b", "c", "d", "a"]
a > ["a", "b", "c", "d"]
a.rotate(2) > ["c", "d", "a", "b"]
a.rotate(-3) > ["b", "c", "d", "a"]
18. Array.flatten
s = [ 1, 2, 3 ] #=> [1, 2, 3]
t = [ 4, 5, 6, [7, 8] ] #=> [4, 5, 6, [7, 8]]
a = [ s, t, 9, 10 ] #=> [[1, 2, 3], [4, 5, 6, [7,
8]], 9, 10]
a.flatten #=> [1, 2, 3, 4, 5, 6, 7, 8,
9, 10]
a = [ 1, 2, [3, [4, 5] ] ]
a.flatten(1) #=> [1, 2, 3, [4, 5]]
19. Array.sample
[1,2,3,4,5,6,7,8,9,10].sample() #=> 7 (just
randomly selected)
[1,2,3,4,5,6,7,8,9,10].sample(3) #=> 3, 9, 2
20. Array.shuffle
a = [ 1, 2, 3 ] #=> [1, 2, 3]
a.shuffle #=> [2, 3, 1]
var a = [ 1, 2, 3 ]; > [1, 2, 3]
a.shuffle() > [2, 3, 1]
21. Array Object
is_empty
push_all size
reverse_eachintersect clear
each deduct
map uniq union
sample at shuffle values_attranspose
contains last
transpose
keep_if compact select
remove insert
remove_if reject zip
index rotate equals
take
remove_at fetchtake_while
flatten count
22. Examples
(1..10).map{|i| ("a".."z").to_a[rand 26] }.join
new Array(10).map(function(i,item){
return
"abcdefghijklmnopqrstuvwxyz"[(26*Math.random()).floor()]
;
}).join("");
(10).times(function(i){
return
"abcdefghijklmnopqrstuvwxyz"[(26*Math.random()).floor()];
}).join("");
23. Examples
(1..10).map{|i| ("a".."z").to_a[rand 26] }.join
new Array(10).map(function(i,item){
return
"abcdefghijklmnopqrstuvwxyz"[(26*Math.random()).floor()]
;
}).join("");
(10).times(function(i){
return
"abcdefghijklmnopqrstuvwxyz"[(26*Math.random()).floor()];
}).join("");
26. What if we can write
and test like this
require '../src/com/ciphor/ruby/Array.js'
describe 'com.ciphor.ruby.Array', ->
testArray = null
beforeEach ->
testArray = [1, 2, 3, 4, 5]
Test for BDD -
Behaviour Driven
afterEach ->
testArray = null
Developement
it 'adds all elements in the given array into the self', ->
testArray.push_all [6, 7, 8]
expect(testArray.length).toEqual(8)
expect(testArray).toContain(8)