Page Menu
Home
Code
Search
Configure Global Search
Log In
Files
F946132
array.js
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
6 KB
Subscribers
None
array.js
View Options
if
(
!
dojo
.
_hasResource
[
"dojo._base.array"
]){
//_hasResource checks added by build. Do not use _hasResource directly in your code.
dojo
.
_hasResource
[
"dojo._base.array"
]
=
true
;
dojo
.
require
(
"dojo._base.lang"
);
dojo
.
provide
(
"dojo._base.array"
);
(
function
(){
var
_getParts
=
function
(
arr
,
obj
,
cb
){
return
[
(
dojo
.
isString
(
arr
)
?
arr
.
split
(
""
)
:
arr
),
(
obj
||
dojo
.
global
),
// FIXME: cache the anonymous functions we create here?
(
dojo
.
isString
(
cb
)
?
(
new
Function
(
"item"
,
"index"
,
"array"
,
cb
))
:
cb
)
];
}
dojo
.
mixin
(
dojo
,
{
indexOf
:
function
(
/*Array*/
array
,
/*Object*/
value
,
/*Integer?*/
fromIndex
,
/*Boolean?*/
findLast
){
// summary:
// locates the first index of the provided value in the
// passed array. If the value is not found, -1 is returned.
// description:
// For details on this method, see:
// http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Objects:Array:indexOf
var
i
=
0
,
step
=
1
,
end
=
array
.
length
;
if
(
findLast
){
i
=
end
-
1
;
step
=
end
=
-
1
;
}
for
(
i
=
fromIndex
||
i
;
i
!=
end
;
i
+=
step
){
if
(
array
[
i
]
==
value
){
return
i
;
}
}
return
-
1
;
// Number
},
lastIndexOf
:
function
(
/*Array*/
array
,
/*Object*/
value
,
/*Integer?*/
fromIndex
){
// summary:
// locates the last index of the provided value in the passed array.
// If the value is not found, -1 is returned.
// description:
// For details on this method, see:
// http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Objects:Array:lastIndexOf
return
dojo
.
indexOf
(
array
,
value
,
fromIndex
,
true
);
// Number
},
forEach
:
function
(
/*Array*/
arr
,
/*Function*/
callback
,
/*Object?*/
obj
){
// summary:
// for every item in arr, call callback with that item as its
// only parameter.
// description:
// Return values are ignored. This function
// corresponds (and wraps) the JavaScript 1.6 forEach method. For
// more details, see:
// http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Objects:Array:forEach
// match the behavior of the built-in forEach WRT empty arrs
if
(
!
arr
||
!
arr
.
length
){
return
;
}
// FIXME: there are several ways of handilng thisObject. Is
// dojo.global always the default context?
var
_p
=
_getParts
(
arr
,
obj
,
callback
);
arr
=
_p
[
0
];
for
(
var
i
=
0
,
l
=
_p
[
0
].
length
;
i
<
l
;
i
++
){
_p
[
2
].
call
(
_p
[
1
],
arr
[
i
],
i
,
arr
);
}
},
_everyOrSome
:
function
(
/*Boolean*/
every
,
/*Array*/
arr
,
/*Function*/
callback
,
/*Object?*/
obj
){
var
_p
=
_getParts
(
arr
,
obj
,
callback
);
arr
=
_p
[
0
];
for
(
var
i
=
0
,
l
=
arr
.
length
;
i
<
l
;
i
++
){
var
result
=
!!
_p
[
2
].
call
(
_p
[
1
],
arr
[
i
],
i
,
arr
);
if
(
every
^
result
){
return
result
;
// Boolean
}
}
return
every
;
// Boolean
},
every
:
function
(
/*Array*/
arr
,
/*Function*/
callback
,
/*Object?*/
thisObject
){
// summary:
// Determines whether or not every item in the array satisfies the
// condition implemented by callback.
// description:
// The parameter thisObject may be used to
// scope the call to callback. The function signature is derived
// from the JavaScript 1.6 Array.every() function. More
// information on this can be found here:
// http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Objects:Array:every
// example:
// | dojo.every([1, 2, 3, 4], function(item){ return item>1; });
// returns false
// example:
// | dojo.every([1, 2, 3, 4], function(item){ return item>0; });
// returns true
return
this
.
_everyOrSome
(
true
,
arr
,
callback
,
thisObject
);
// Boolean
},
some
:
function
(
/*Array*/
arr
,
/*Function*/
callback
,
/*Object?*/
thisObject
){
// summary:
// Determines whether or not any item in the array satisfies the
// condition implemented by callback.
// description:
// The parameter thisObject may be used to
// scope the call to callback. The function signature is derived
// from the JavaScript 1.6 Array.some() function. More
// information on this can be found here:
// http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Objects:Array:some
// example:
// | dojo.some([1, 2, 3, 4], function(item){ return item>1; });
// returns true
// example:
// | dojo.some([1, 2, 3, 4], function(item){ return item<1; });
// returns false
return
this
.
_everyOrSome
(
false
,
arr
,
callback
,
thisObject
);
// Boolean
},
map
:
function
(
/*Array*/
arr
,
/*Function*/
func
,
/*Function?*/
obj
){
// summary:
// applies a function to each element of an Array and creates
// an Array with the results
// description:
// Returns a new array constituted from the return values of
// passing each element of arr into unary_func. The obj parameter
// may be passed to enable the passed function to be called in
// that scope. In environments that support JavaScript 1.6, this
// function is a passthrough to the built-in map() function
// provided by Array instances. For details on this, see:
// http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Objects:Array:map
// example:
// | dojo.map([1, 2, 3, 4], function(item){ return item+1 });
// returns [2, 3, 4, 5]
var
_p
=
_getParts
(
arr
,
obj
,
func
);
arr
=
_p
[
0
];
var
outArr
=
((
arguments
[
3
])
?
(
new
arguments
[
3
]())
:
[]);
for
(
var
i
=
0
;
i
<
arr
.
length
;
++
i
){
outArr
.
push
(
_p
[
2
].
call
(
_p
[
1
],
arr
[
i
],
i
,
arr
));
}
return
outArr
;
// Array
},
filter
:
function
(
/*Array*/
arr
,
/*Function*/
callback
,
/*Object?*/
obj
){
// summary:
// Returns a new Array with those items from arr that match the
// condition implemented by callback. ob may be used to
// scope the call to callback. The function signature is derived
// from the JavaScript 1.6 Array.filter() function.
//
// More information on the JS 1.6 API can be found here:
// http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Objects:Array:filter
// example:
// | dojo.filter([1, 2, 3, 4], function(item){ return item>1; });
// returns [2, 3, 4]
var
_p
=
_getParts
(
arr
,
obj
,
callback
);
arr
=
_p
[
0
];
var
outArr
=
[];
for
(
var
i
=
0
;
i
<
arr
.
length
;
i
++
){
if
(
_p
[
2
].
call
(
_p
[
1
],
arr
[
i
],
i
,
arr
)){
outArr
.
push
(
arr
[
i
]);
}
}
return
outArr
;
// Array
}
});
})();
}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Apr 26, 05:16 (3 d, 11 h ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
24122
Default Alt Text
array.js (6 KB)
Attached To
rZED Zed
Event Timeline
Log In to Comment