|
Struts example source code file (array.js)
The Struts array.js source code/* Copyright (c) 2004-2006, The Dojo Foundation All Rights Reserved. Licensed under the Academic Free License version 2.1 or above OR the modified BSD license. For more information on Dojo licensing, see: http://dojotoolkit.org/community/licensing.shtml */ dojo.provide("dojo.lang.array"); dojo.require("dojo.lang.common"); dojo.lang.mixin(dojo.lang, {has:function (obj, name) { try { return typeof obj[name] != "undefined"; } catch (e) { return false; } }, isEmpty:function (obj) { if (dojo.lang.isObject(obj)) { var tmp = {}; var count = 0; for (var x in obj) { if (obj[x] && (!tmp[x])) { count++; break; } } return count == 0; } else { if (dojo.lang.isArrayLike(obj) || dojo.lang.isString(obj)) { return obj.length == 0; } } }, map:function (arr, obj, unary_func) { var isString = dojo.lang.isString(arr); if (isString) { arr = arr.split(""); } if (dojo.lang.isFunction(obj) && (!unary_func)) { unary_func = obj; obj = dj_global; } else { if (dojo.lang.isFunction(obj) && unary_func) { var tmpObj = obj; obj = unary_func; unary_func = tmpObj; } } if (Array.map) { var outArr = Array.map(arr, unary_func, obj); } else { var outArr = []; for (var i = 0; i < arr.length; ++i) { outArr.push(unary_func.call(obj, arr[i])); } } if (isString) { return outArr.join(""); } else { return outArr; } }, reduce:function (arr, initialValue, obj, binary_func) { var reducedValue = initialValue; if (arguments.length == 2) { binary_func = initialValue; reducedValue = arr[0]; arr = arr.slice(1); } else { if (arguments.length == 3) { if (dojo.lang.isFunction(obj)) { binary_func = obj; obj = null; } } else { if (dojo.lang.isFunction(obj)) { var tmp = binary_func; binary_func = obj; obj = tmp; } } } var ob = obj || dj_global; dojo.lang.map(arr, function (val) { reducedValue = binary_func.call(ob, reducedValue, val); }); return reducedValue; }, forEach:function (anArray, callback, thisObject) { if (dojo.lang.isString(anArray)) { anArray = anArray.split(""); } if (Array.forEach) { Array.forEach(anArray, callback, thisObject); } else { if (!thisObject) { thisObject = dj_global; } for (var i = 0, l = anArray.length; i < l; i++) { callback.call(thisObject, anArray[i], i, anArray); } } }, _everyOrSome:function (every, arr, callback, thisObject) { if (dojo.lang.isString(arr)) { arr = arr.split(""); } if (Array.every) { return Array[every ? "every" : "some"](arr, callback, thisObject); } else { if (!thisObject) { thisObject = dj_global; } for (var i = 0, l = arr.length; i < l; i++) { var result = callback.call(thisObject, arr[i], i, arr); if (every && !result) { return false; } else { if ((!every) && (result)) { return true; } } } return Boolean(every); } }, every:function (arr, callback, thisObject) { return this._everyOrSome(true, arr, callback, thisObject); }, some:function (arr, callback, thisObject) { return this._everyOrSome(false, arr, callback, thisObject); }, filter:function (arr, callback, thisObject) { var isString = dojo.lang.isString(arr); if (isString) { arr = arr.split(""); } var outArr; if (Array.filter) { outArr = Array.filter(arr, callback, thisObject); } else { if (!thisObject) { if (arguments.length >= 3) { dojo.raise("thisObject doesn't exist!"); } thisObject = dj_global; } outArr = []; for (var i = 0; i < arr.length; i++) { if (callback.call(thisObject, arr[i], i, arr)) { outArr.push(arr[i]); } } } if (isString) { return outArr.join(""); } else { return outArr; } }, unnest:function () { var out = []; for (var i = 0; i < arguments.length; i++) { if (dojo.lang.isArrayLike(arguments[i])) { var add = dojo.lang.unnest.apply(this, arguments[i]); out = out.concat(add); } else { out.push(arguments[i]); } } return out; }, toArray:function (arrayLike, startOffset) { var array = []; for (var i = startOffset || 0; i < arrayLike.length; i++) { array.push(arrayLike[i]); } return array; }}); Other Struts examples (source code examples)Here is a short list of links related to this Struts array.js source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.