gpt4 book ai didi

javascript - 概念 : Discern between Array, JavaScript 中的伪数组和对象

转载 作者:行者123 更新时间:2023-12-03 04:13:38 24 4
gpt4 key购买 nike

在使用 JavaScript 时,您经常会遇到一些愚蠢的问题。其中一个问题是辨别对象类型。

有没有办法创建具有此功能的函数? 见下文:

_discern = function () { [ function code ] };

_discern({}); // Logs: Object

_discern([]); // Logs: Array

_discern(document); // Logs: Pseudo-Object

_discern(document.querySelectorAll("*")); // Logs: Pseudo-Array

我已经尝试创建一个检查数组相似性的函数,但效果没有我希望的那么好:

isArrLike = function (_) {

_[0] = 0; return [].slice.call(_).length >= Object.values(_).length;
};

我已经尝试将该行为用于另一个函数。所有的失败。有办法吗?

最佳答案

看起来您想知道某些东西的行为是否类似于数组,而不是寻找实际的类型/构造函数。

如果是这样的话,check if something is iterable 就足够了:

function isIterable(obj) {
// checks for null and undefined
if (obj == null) {
return false;
}
return typeof obj[Symbol.iterator] === 'function';
}

关于javascript - 概念 : Discern between Array, JavaScript 中的伪数组和对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44234345/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com