Skip to content

Commit c0be5fd

Browse files
krmbn0576kateinoigakukun
authored andcommitted
Improve Array#to_js speed
Convert Ruby elements to JS elements while preparing JS method call under `JS::Object#call` instead of converting at Ruby level for each element.
1 parent 422e8f6 commit c0be5fd

File tree

1 file changed

+2
-4
lines changed

1 file changed

+2
-4
lines changed

ext/js/lib/js/array.rb

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,8 @@ class Array
22
# Convert Ruby array to JavaScript array
33
def to_js
44
new_array = JS.eval("return []")
5-
self.each do |element|
6-
# NOTE: This method call implicitly convert element to JS object by to_js
7-
new_array.push element
8-
end
5+
# NOTE: This method call implicitly convert element to JS object by to_js
6+
new_array.push *self
97
new_array
108
end
119
end

0 commit comments

Comments
 (0)