我的功能不是打印任何东西
My function is not printing anything
算法应该对数组中的两个元素求和,并将它们插入和中的两个元素之间。
示例输入==>输出:
[1, 2, 3, 4] ==> [ 1, 3, 2, 5, 3, 7, 4]
function growArray() {
var sequence = [];
sequence = window.prompt("Enter a number sequence", "1 2 3 4");
for (var i = 0; i < sequence.length - 1; i += 2) {
if (!((i + 1) in sequence)) {
return;
} // prevent out of bounds access
var new_value = sequence[i] + sequence[i + 1];
sequence.splice(i + 1, 0, new_value); // insert value at i + 1
}
for (var v in sequence) {
document.write(v + ", ");
}
}
<p>
<input id="f1" type="button" value="Function 1" onclick="growArray();" />Click to expand array
</p>
下面是得到的输出
function growArray() {
var input = window.prompt("Enter a number sequence", "1 2 3 4");
var sequence = input.split(" ");
for (var i = 0; i < sequence.length - 1; i += 2) {
if (i + 1 > sequence.length) {
return;
} // prevent out of bounds access
var new_value = parseInt(sequence[i]) + parseInt(sequence[i + 1]);
sequence.splice(i + 1, 0, new_value); // insert value at i + 1
}
document.write(sequence.toString());
}
<p>
<input id="f1" type="button" value="Function 1" onclick="growArray();" />Click to expand array
</p>
检查代码有几点需要注意。
sequence
是一个数组,但是您没有定义类型,甚至没有解析输入。在我看来,它是一个字符串数组。
文档说明:split()方法通过将字符串分成子字符串将String对象分成字符串数组。
然后,你的数组在你处理它的过程中不断被改变。虽然这不是错误,但对于手头的任务和你对语言的明显统治来说,这是"奇怪的"。
example(){
var original = [1, 2, 3, 4];
var result=[];
for(var i=0;i<original.length;i++){
result.push(original[i]);
if(i<original.length-1){
result.push(original[i]+original[i+1]);
}
}
alert(result);
}
您必须将用户输入split
到数组(序列)中。
这个数组包含字符串值,因为用户输入是字符串。所以你必须把这些值映射到int中,才能把它们相加。
var sequence = '1 2 3 4'.split(' ').map(Number);
for(var i=0; i<sequence.length - 1; i+=2) {
sequence.splice(i+1, 0, sequence[i] + sequence[i+1]);
}
document.write(sequence.join(', '));
工作示例相关文章:
- 是否有任何方法可以去除“"打印时从阵列中删除
- 如果我只想从数组中打印任何一个元素.任何数组.那么代码会是什么
- 嵌套在嵌入式红宝石上,不打印任何内容
- 在Javascript的警告框中打印任何数字的乘法表
- 如何通过java或javascript在客户端打印出任何文本内容
- document.write 不会在页面上打印任何内容
- 任何使用javascript(打印媒体)进行分页符的方法
- 打印任何java应用程序的函数/方法调用序列
- 是否有任何选项可以打印 c3js 生成的图形
- MochaJs:我可以'不要在屏幕上打印/调试任何内容
- 为什么下面的JavaScript函数不打印任何内容
- Mathjax下拉列表打印到预览-更改时不会发生任何变化
- 我的功能不是打印任何东西
- 访问在开发工具控制台上打印的任何内容
- JQuery函数不打印任何东西
- 为什么IE9没有打印任何东西?
- 是否有可能从一个网页获取数据并生成另一个网页(要打印的网页)而不受服务器的任何干扰?
- 如何编程打印网页在A4大小,横向不丢失任何内容使用HTML/JavaScript/Jquery
- QUnit没有't打印任何结果
- console.log打印值,而不向其传递任何参数