为什么会这样?
var numbers = [ '1', '2', '3', '4' ];
var intNumbers = numbers.map( parseInt ); // intNumbers = [1, NaN, NaN, NaN]
var fltNumbers = numbers.map( parseFloat ); // fltNumbers = [1, 2, 3, 4, 5 ]
Run Code Online (Sandbox Code Playgroud)
但Array.prototype.map.call( numbers, parseInt );回报[ 1, 2, 3, 4];.我在Google Chrome 26.0.1410.65中运行此代码.
您知道,在 Javascript 中,您可以使用 length 属性访问文本/数组的长度:
var obj = ["Robert", "Smith", "John", "Mary", "Susan"];
// obj.length returns 5;
Run Code Online (Sandbox Code Playgroud)
我想知道这是如何实现的。Javascript 在调用时是否计算 length 属性?或者它只是一个静态属性,每当数组更改时它就会更改。我的问题是由于 javascript 最佳实践中存在以下混淆而提出的:
for(var i = 0; i < obj.length; i++)
{
}
Run Code Online (Sandbox Code Playgroud)
我的问题:如果它是一个静态属性,那么在每次迭代中访问 length 属性就不需要担心,但如果它是在每次迭代中计算的,那么它会花费一些内存。
我已经阅读了 ECMAScript 给出的以下定义,但它没有给出任何关于它是如何实现的线索。我担心它可能会给出一个完整的数组实例,其长度属性是在运行时计算的,如果结果是真的,那么上面的内容for()对内存来说是危险的,而应该使用以下内容:
var count = obj.length;
for(var i = 0; i < count; i++)
{
}
Run Code Online (Sandbox Code Playgroud) 这是问题的复制:
我现在通过JavaScript得到时间戳
var ts = +new Date // 1368971991090
console.log( new Date(1368971991090) ); // Sun May 19 2013 13:59:51 GMT+0000 (GMT)
Run Code Online (Sandbox Code Playgroud)
然后在我的Postgres控制台中,
# select to_timestamp(1368971991090);
to_timestamp
--------------------------------
45350-12-30 05:31:29.999872+00
(1 row)
Run Code Online (Sandbox Code Playgroud)
未来的日期太多了.
JavaScript的文档Date#getTime说它从epoch开始返回毫秒; 与Postgres' to_timestamp接受的参数类型相同.Java的Date#getTime返回值与JS相同Date#getTime.
我是Ruby的新手并且设法生成year_ranges(请纠正我,如果有更好的术语)来自以下数组years:
class User < ActiveRecord::Base
def years
[2013, 2012, 2011, 2010, 2009]
end
def year_ranges
years.map { |y| "#{y}-01-01_#{y}-12-31" }
end
end
@user.year_ranges
# =>
[
"2013-01-01_2013-12-31",
"2012-01-01_2012-12-31",
"2011-01-01_2011-12-31",
"2010-01-01_2010-12-31",
"2009-01-01_2009-12-31"
]
Run Code Online (Sandbox Code Playgroud)
现在我该如何创建一个方法month_ranges,所以我得到一个这样的数组?
[
"2013-01-01_2013-01-31",
"2012-02-01_2012-02-31",
"2011-03-01_2011-03-31",
"2010-04-01_2010-04-31",
"2009-05-01_2009-05-31",
.....
]
Run Code Online (Sandbox Code Playgroud)
感谢任何可以提供帮助的人.