-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathutil.js
35 lines (34 loc) · 909 Bytes
/
util.js
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
'use strict'
var undef = void(0)
var fns = {
type: function(obj) {
if (obj === null) return 'null'
else if (obj === undef) return 'undefined'
var m = /\[object (\w+)\]/.exec(Object.prototype.toString.call(obj))
return m ? m[1].toLowerCase() : ''
},
indexOf: function (arr, tar) {
if (arr.indexOf) return arr.indexOf(tar)
else {
var i = -1
fns.some(arr, function (item, index) {
if (item === tar) {
i = index
return true
}
})
return i
}
},
forEach: function (arr, fn) {
if (arr.forEach) return arr.forEach(fn)
else {
var len = arr.length
for (var i = 0 ; i < len; i++) {
fn(arr[i], i)
}
}
return arr
}
}
module.exports = fns