我正在编写一个JavaScript函数来获取数组的最后 'n' 个元素。如果数组有6个元素,用户提供4,则应返回最后4个元素。如果用户给出大于数组元素数量的“n”,则应返回所有元素。
问题是,如果数组有8个元素,我提供数字10,则结果为:
谢谢!
HTML代码
数组是:
问题是,如果数组有8个元素,我提供数字10,则结果为:
undefined undefined 1 2 3 4 5 6 7 8
我想仅显示没有 "undefined" 的数字。谢谢!
HTML代码
数组是:
1,2,3,4,5,6,7,8
<br>
x:
<input type="number" id="x" value="2" >
<br>
<button onclick="elements()"> Get the elements </button>
<p id="result"></p>
<script src="ex10.js"></script>
JavaScript代码
var Elements = new Array(1,2,3,4,5,6,7,8);
function elements(){
var x = document.getElementById("x").value;
for(var i=Elements.length - x; i <=Elements.length-1; i++)
{
document.getElementById("result").innerHTML += Elements[i] + " ";
}
}
array.slice(0,-n)
- Pierre Emmanuel Lallemantundefined
的值,是因为当你声明var i = Elements.length - x
时,如果x > Elements.length
,那么i
将会是负数。这样你就会访问数组下标小于0
的元素(例如:Elements[-1]
),导致出现undefined
的值。 - Shidersz