-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathisArrayLikeObject.js
More file actions
39 lines (37 loc) · 967 Bytes
/
isArrayLikeObject.js
File metadata and controls
39 lines (37 loc) · 967 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import isArrayLike from './isArrayLike'
import isObjectLike from './isObjectLike'
/**
* 检测测试数据是否为 ArrayLike 的对象数据
* ========================================================================
* @method isArrayLikeObject
* @since 0.2.0
* @category Array
* @param {*} val - 要检测的数据
* @returns {Boolean} ‘val’ 是类似 Array 类型对象,返回 true,否则返回 false;
* @example
*
* const $items = document.querySelectorAll('.item')
* const obj = { '0': 1, '1': 2, length: 2 }
* let args
*
* function getAge(age) {
* args = arguments
* return age + 18
* }
*
* getAge(30)
*
* isArrayLikeObject([]) // -> true
*
* isArrayLikeObject($items) // -> true
*
* isArrayLikeObject(args) // -> true
*
* isArrayLikeObject(obj) // -> false
*
* isArrayLikeObject({}) // -> false
*/
const isArrayLikeObject = (val) => {
return isObjectLike(val) && isArrayLike(val)
}
export default isArrayLikeObject