這個問題在這里已經有了答案: 如何檢查物件是否為陣列? (51 個回答) 19 分鐘前關閉。
函式回傳物件的型別
function objOrLis(obj) {
if (typeof obj == "object") {
poss = "object"
try {
for (let i of obj) {
poss = "list"
}
}
catch {
poss = "object"
}
return poss
}
else {
let c = typeof obj
return c
}
}
uj5u.com熱心網友回復:
使用Array.isArray()識別陣列:
function objOrLis(obj) {
return Array.isArray(obj)
? 'list'
: typeof obj
}
console.log(objOrLis([]))
console.log(objOrLis({}))
console.log(objOrLis(1))
console.log(objOrLis('str'))
uj5u.com熱心網友回復:
Object.prototype.toString 給出不同的結果
const array = [1,2,3];
const set = new Set(array);
const map = {a:1,b:2,c:3};
console.log(Object.prototype.toString.call(array));
console.log(Object.prototype.toString.call(set));
console.log(Object.prototype.toString.call(map));
uj5u.com熱心網友回復:
一個 ES6 one liner,用于區分陣列和物件。
const objectOrList = (o) => (o instanceof Array ? "list" : (o instanceof Object ? "object" : typeof o))
const objectOrList = (o) => (o instanceof Array ? "list" : (o instanceof Object ? "object" : typeof o));
console.log(objectOrList([]));
console.log(objectOrList({}));
console.log(objectOrList(1));
console.log(objectOrList("string"));
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/330659.html
標籤:javascript 数组 列表 字典 目的
