該算法應該將數組的兩個元素相加,並將它們插入總和中使用的兩個元素之間。我的功能是不打印任何東西
實施例輸入==>輸出:
[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>
'if(!((i + 1)in sequence))'不會起作用,因爲sequence只是一個字符串。 '.split(「」)'如果這是預期的輸入。 –
確保你檢查了控制檯:'Uncaught TypeError:不能使用'in'運算符在1 2 3 4'中搜索'1'。 –
TypeError:無效'in'操作數序列 –