從下面的函數應該從鉻控制檯返回的數組顯示像這樣?在chrome/node/canary中返回一個數組,返回時髦數組的屬性?
[ name: 'Mike', age: 60, role: 'director' ]
當我在chrome控制檯中鍵入數組時,我得到一個預期的語法錯誤返回。我知道我設置了一個空陣列的屬性,但我認爲陣列不會像這樣顯示 [ name: 'Mike', age: 60, role: 'director' ]
這個chrome試圖通過告訴我屬性來幫助我嗎?
在jsfiddle,firefox和safari中輸入函數返回一個空數組,但chrome顯示數組的屬性。
var object = {
name: 'Mike',
age: 60,
role: 'director'
}
var array = []
function test_reduce(object) {
return Object.keys(object).reduce(function(array, key) {
array[key] = object[key]
return array;
}, array)
}
var dummy_1 = test_reduce(object)
console.log(dummy_1)
function test_Loop(object) {
for (var key in object) {
array[key] = object[key]
}
return array;
}
var dummy_1 = test_reduce(object)
console.log(dummy_1)
console.log(test_Loop(object))
我使用
Chrome Version 61.0.3119.0 (Official Build) canary (64-bit)
Chrome Version 58.0.3029.110 (64-bit)
Node.js v7.7.4
Safari Version 10.1.1 (12603.2.4)
Firefox 53.0.3 (64-bit)
數組和對象不可互換。 – pvg
數組仍然是一個對象,因此可以具有像對象一樣的屬性。猜測,我只是說這是Chrome選擇向您顯示陣列及其屬性的方式。 – Phil
如果您檢查FF中的展開視圖(單擊控制檯中的* Array *鏈接),您將獲得與chrome dev-tools中顯示的屬性相同的屬性。 – Kaiido