我的數組打印的是長度而不是其內容。我真的尋找答案,但沒有發現。這裏是我的代碼:數組只打印長度而不是內容
<p id="para">
</p>
var myArray = [1,2,3,4,5];
myArray = myArray.unshift('Charlie');
document.getElementById('para').innerHTML = myArray;
我想這個數組打印出來查理,1,2,3,4,5而是它打印出來6.我做錯了什麼在這裏愚蠢的事情?
我的數組打印的是長度而不是其內容。我真的尋找答案,但沒有發現。這裏是我的代碼:數組只打印長度而不是內容
<p id="para">
</p>
var myArray = [1,2,3,4,5];
myArray = myArray.unshift('Charlie');
document.getElementById('para').innerHTML = myArray;
我想這個數組打印出來查理,1,2,3,4,5而是它打印出來6.我做錯了什麼在這裏愚蠢的事情?
讀數the docs for Array.unshift是說它返回數組的長度。
unshift()方法將一個或多個元素添加到 數組的開頭,並返回新數組的新長度。
你可能只是想刪除的賦值運算符,像這樣
var myArray = [1, 2, 3, 4, 5];
myArray.unshift('Charlie');
document.getElementById('para').innerHTML = myArray.join(',');
<div id="para">
</div>
myArray = myArray.unshift('Charlie')返回6後面的邏輯是什麼? – Brixsta
@Brixsta我只能說這是它按照標準工作的方式。它在我上面鏈接的文檔中有詳細說明。 unshift方法返回新的長度。 –
@Brixsta在未轉換之前,長度爲* 5 *,但在未轉換之後,長度爲* 6 *,並返回。 –
.unshift返回數組的長度。所以你在上面的代碼中所做的將myArray等同於myArray.unshift()的返回值。 myArrays值成爲這是6
數組的長度因此,所有你需要的代碼是
myArray.unshift('Charlie');
var myArray = [1,2,3,4,5];
//console.log(myArray);
myArray.unshift('Charlie');
document.getElementById('para').innerHTML = myArray;
<p id="para"></p>
提出這個的一個更好的辦法是
var myArray = [1,2,3,4,5];
//console.log(myArray);
myArray.unshift('Charlie');
var str='';
for(var i=0; i<myArray.length; i++)
{
str=str+myArray[i]+" ";
}
document.getElementById('para').innerHTML = str;
<p id="para">
</p>
對於第二個示例,您可以執行'myArray.join('')'而不是循環 –
您是對的。這是一個更好的方法 – lhavCoder
「unshift()方法將一個或多個元素添加到數組**的開始位置,並返回新數組的新長度。**」https://developer.mozilla.org/zh-cn/ docs/Web/JavaScript/Reference/Global_Objects/Array/unshift –
只需使用myArray.unshift('Charlie'); – Cruiser
有沒有辦法實現Charlie,1,2,3,4,5? – Brixsta