有没有办法在javascript中生成字符或数字序列?
例如,我想创建包含8个1的数组.我可以用for循环来做,但想知道是否有一个jQuery库或javascript函数可以为我做?
我有一个整数observable,pages我想循环到html中的页面值,例如.
pages = ko.observable(3)
Run Code Online (Sandbox Code Playgroud)
产生
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
是否有适合此的绑定?
我读了一些代码,其中有人用Ruby做过这个:
puts ('A'..'Z').to_a.join(',')
Run Code Online (Sandbox Code Playgroud)
输出:
A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z
Run Code Online (Sandbox Code Playgroud)
有什么东西Javascript可以让这一切变得容易吗?如果没有,是否有节点模块允许类似的东西?
当与传播运营商的使用靶向ES5 ...到转换Iterator到Array,它显示的错误使用-downlevelIteration编译器选项。一旦启用,散布运算符似乎就可以完美地工作。
我不知道为什么需要指定这个?启用该功能后,除了从tslib添加更多发出的生成代码之外,还有其他缺点吗?
另一个示例:动态创建N个数组(例如3):
[...Array(3).keys()] // output: [0, 1, 2]
Run Code Online (Sandbox Code Playgroud)
来自的错误消息tsc:
类型“ IterableIterator”不是数组类型或字符串类型。使用编译器选项'--downlevelIteration'允许迭代器进行迭代。
有没有办法像在Python中一样在Javascript/jQuery中声明一个范围?
像这样的东西:
x =范围(1,10)
x = [1,2,3,4,5,6,7,8,9]
谢谢.
我正在寻找类似于numpy.linspace 的东西,以根据起始值、结束值和数组中所需的值数量生成数字数组。
example:
start=2.0, end=3.0, num=5
result = [2.0, 2.25, 2.5 , 2.75, 3.0]
Run Code Online (Sandbox Code Playgroud)
我遇到过this,但它根据之间的步骤分隔了范围。
JavaScript 是否有内置方法来完成此操作?
在 Java8 中,我们可以得到一个范围内的数字流,例如:
IntStream.range(1, 3).forEach(System.out::println);
IntStream.rangeClosed(1, 3).forEach(System.out::println);
Run Code Online (Sandbox Code Playgroud)
如何[1, 2, 3]以最少的编码在 JS 中获取数组?
当我解决这个问题时,问题就出来了:LeetCode 412. Fizz Buzz
嗨伙计们,我正在尝试在javascript中创建一个函数,从范围(开始,结束)返回一个数组,并且我应该创建一个可选参数,当它未定义时默认为1.当我提供所有参数时,我可以使函数工作,但当我只传递两个参数时返回一个空数组.这是一个问题:
编写一个范围函数,它接受两个参数,start和end,并返回一个包含从start到(和包括)end的所有数字的数组.
接下来,编写一个sum函数,它接受一个数字数组并返回这些数字的总和.运行上一个程序,看看它是否确实返回55.
作为奖励分配,修改范围函数以采用可选的第三个参数,该参数指示用于构建阵列的"步长"值.如果没有给出步骤,则数组元素以1的增量上升,对应于旧行为.函数调用范围(1,10,2)应返回[1,3,5,7,9].确保它也适用于负步长值,以便范围(5,2,-1)产生[5,4,3,2].
这是我的代码
function range(start, end, increment){
var array = [];
var current = start;
var counter;
if (increment == undefined){
counter = 1;
}
else {
counter = increment;
}
if (increment > 0){
while(current <= end){
array.push(current);
current += counter;
}
}
else if (increment < 0){
while(current >= end){
array.push(current);
current += counter;
}
}
return array;
}
Run Code Online (Sandbox Code Playgroud)
有人可以解释为什么它会破裂?我知道一些c#和我过去能够在视觉工作室跳入调试器时出现问题而不像javascript
说我们有这个:
const v = [1,2,3];
v.foo = 5;
console.log(JSON.stringify(v));
Run Code Online (Sandbox Code Playgroud)
我们将得到:
'[1,2,3]'
Run Code Online (Sandbox Code Playgroud)
并且将忽略数组上的'foo'属性.但是,如果我们这样做:
console.log(Object.keys(v));
Run Code Online (Sandbox Code Playgroud)
我们将得到:
[ '0', '1', '2', 'foo' ]
Run Code Online (Sandbox Code Playgroud)
我的问题是 - 我们如何只从数组中获取标准键,并忽略任何添加到数组中的属性?
我知道如何做到这一点的唯一方法是:
const keys = Object.keys(v).filter(k => Number.isInteger(parseInt(k)));
Run Code Online (Sandbox Code Playgroud)
有没有更好的办法?
我想像[1..25]在 JavaScript 中一样设计一些数组,但我不想手动完成([1, 2, 3, 4, 5, 6, [...], 25])。
你会怎么做?
javascript ×8
arrays ×2
jquery ×2
node.js ×2
json ×1
knockout.js ×1
ruby ×1
stream ×1
typescript ×1