假设我想要一个变量包含从1到100的数字。我可以这样做:
var numbers = [1,2,3,4,...,98,99,100]
但是把所有这些数字写下来需要很多时间。有没有办法给这个变量设置一个范围?类似的东西:
var numbers = [from 1, to 100]
这听起来可能是一个非常愚蠢的问题,但我自己还没有弄清楚。提前感谢。
您可以轻松创建自己的,并仅存储限制:
js prettyprint-override">function Range(begin, end) {
this.low = begin;
this.hi = end;
this.has = function(n) {
return this.low <= n <= this.hi;
}
}
// code example
var range = new Range(1,100);
var num = 5;
if (range.has(num)) {
alert("Number in range");
}
除此之外,以下是一些方法:
用于
循环:
var numbers = []
for (var i = 1; i <= 100; i++) {
numbers.push(i)
}
数组。原型填充
数组。原型地图
var numbers = Array(100).fill().map(function(v, i) { return i + 1; })
或者,如果允许使用箭头函数:
var numbers = Array(100).fill().map((v, i) => i + 1)
或者,如果您被允许使用扩散运算符:
var numbers = [...Array(100)].map((v, i) => i + 1)
但是,请注意,使用for
循环是最快的。
将最小和最大范围存储在对象中:
var a = {
from: 0,
to: 100
};
问题内容: 我有一个从或指令属性或任何其他属性中获得的字符串,我想基于此在作用域上创建一个变量。所以: 但是,如果字符串包含一个或多个点,我想将其拆分并实际上“向下钻取”到作用域中。所以应该成为。这意味着简单版本不起作用! 在读取基于字符串的变量时,您可以通过做来获得这种行为,但是在分配值时如何实现呢? 问题答案: 我发现的解决方案是使用$ parse。 “将Angular表达式转换为函数。” 如
我试图在Lists.range(“I2:AD2”)范围内找到一个字符串变量a。一旦找到了这个单元格,我想要设置一个新的范围变量A_backup,使之成为从“i2:ad2”中找到的单元格到列中最后一个非空单元格的范围。我已经能够使用select、activecell等来实现这一点,但我希望避免这样做,因为当我从工作簿中的不同工作表中运行它时会导致问题。
本章介绍当模板在访问变量时发生了什么事情,还有变量是如何存储的。 当调用 Template.process 方法时,它会在方法内部创建一个 Environment 对象,在 process 返回之前一直使用。 该对象存储模板执行时的运行状态信息。除了这些,它还存储由模板中指令,如 assign, macro, local 或 global 创建的变量。 它不会尝试修改传递给 process 的数据
问题内容: 我知道变量作用域由块的开始和块的结尾包围。如果在块内声明了相同的变量,则会发生编译错误。但是,请看以下示例。 在这里,可以在方法中重新声明,尽管它已经在类中声明了。但是在块中,无法重新声明。 为什么类范围变量的重新声明不产生错误,而方法范围变量的重新声明却产生错误? 问题答案: 这是因为不是变量,而是实例字段。允许局部变量与字段具有相同的名称。为了区分变量和具有相同名称的字段,我们在实
问题内容: 我知道变量作用域由块的开始和块的结尾包围。如果在块内声明了相同的变量,则会发生编译错误。但是,请看以下示例。 在这里,可以在方法中重新声明,尽管它已经在类中声明了。但是在块中,无法重新声明。 为什么类范围变量的重新声明不产生错误,而方法范围变量的重新声明却产生错误? 问题答案: 这是因为不是变量,而是实例字段。允许局部变量与字段具有相同的名称。为了区分变量和具有相同名称的字段,我们在实
问题内容: 一个简单的问题:如何在html中设置作用域值,以供控制器读取? JSFiddle:http : //jsfiddle.net/ncapito/YdQcX/ 问题答案: 在循环内分配变量时不起作用。用 尾随会停止对任何文本求值的Angular表达式。 然后,您只需调用即可输出变量值。 我发现在迭代多个嵌套数组时这非常有用,我想将当前的迭代信息保留在一个变量中,而不是多次查询。