Here is the list of all registered Array
prototypes in jComponent library:
Array.async([context], [callback])
Array.findAll([prop], value)
Array.findAll(fn)
Array.findIndex([prop], value)
Array.findIndex(fn)
Array.findItem([prop], value)
Array.findItem(fn)
Array.findValue([prop], value)
Array.quicksort(prop, [asc])
Array.remove([prop], value)
Array.remove(fn)
Array.skip(count)
Array.take(count)
Array.takeskip(take, skip)
Array.ticks(max, [beg])
Array.trim()
Array.wait(fn, [callback], [thread])
Array.async()
REMOVED in v18
Method performs async operations and it expects Array
of functions.
Array.async([context], [callback]);
// @context {Object} optional, a function context
// @callback {Function} optional
// return {Array}
var arr = [];
arr.push(function(next) {
console.log(1);
setTimeout(next, 1000);
});
arr.push(function(next) {
console.log(2);
setTimeout(next, 1000);
});
arr.push(function(next) {
console.log(3);
setTimeout(next, 1000);
});
arr.async(function() {
console.log('DONE');
});
Array.findAll()
Method finds all items according to the filter.
Array.findAll([prop], value);
// @prop {String} optional, a property name
// @value {Object} a value to compare
// return {Array}
var arr = [];
arr.push({ id: '1', name: 'Peter', age: 30 });
arr.push({ id: '2', name: 'Anna', age: 12 });
arr.push({ id: '3', name: 'Peter', age: 33 });
console.log(arr.findAll('name', 'Peter'));
Array.findAll(fn);
// @fn {Function(item, index} a comparer
// return {Array}
var arr = [];
arr.push({ id: '1', name: 'Peter', age: 30 });
arr.push({ id: '2', name: 'Anna', age: 12 });
arr.push({ id: '3', name: 'Peter', age: 33 });
console.log(arr.findAll(function(item) {
return item.age > 20;
}));
Array.findIndex()
Method finds an item index
according to the filter.
Array.findIndex([prop], value);
// @prop {String} optional, a property name
// @value {Object} a value to compare
// return {Number}
var arr = [];
arr.push({ id: '1', name: 'Peter', age: 30 });
arr.push({ id: '2', name: 'Anna', age: 12 });
arr.push({ id: '3', name: 'Peter', age: 33 });
console.log(arr.findIndex('name', 'Peter'));
// Output: 0
Array.findIndex(fn);
// @fn {Function(item, index} a comparer
// return {Number}
var arr = [];
arr.push({ id: '1', name: 'Peter', age: 30 });
arr.push({ id: '2', name: 'Anna', age: 12 });
arr.push({ id: '3', name: 'Peter', age: 33 });
console.log(arr.findIndex(function(item) {
return item.age === 12;
}));
// Output: 1
Array.findItem()
Method finds an item according to the filter.
Array.findItem([prop], value);
// @prop {String} optional, a property name
// @value {Object} a value to compare
// return {Object}
var arr = [];
arr.push({ id: '1', name: 'Peter', age: 30 });
arr.push({ id: '2', name: 'Anna', age: 12 });
arr.push({ id: '3', name: 'Peter', age: 33 });
console.log(arr.findItem('name', 'Peter'));
// Output: { id: '1', name: 'Peter', age: 30 }
Array.findItem(fn);
// @fn {Function(item, index} a comparer
// return {Object}
var arr = [];
arr.push({ id: '1', name: 'Peter', age: 30 });
arr.push({ id: '2', name: 'Anna', age: 12 });
arr.push({ id: '3', name: 'Peter', age: 33 });
console.log(arr.findItem(function(item) {
return item.age === 12;
}));
// Output: { id: '2', name: 'Anna', age: 12 }
Array.quicksort()
Method can sort Array Object
according to the property name in the first level.
Array.quicksort(prop, [asc]);
// @prop {String} A property name
// @asc {Boolean} Optional, true = asc, false = desc (default: true)
// return {Array}
Array.findValue()
+v16
Method finds a value according to the filter.
Array.findValue(property, value, path, [def], [cache]);
// @prop {String} optional, a property name
// @value {Object} a value to compare
// @path {String} a path for reading value
// @def {Object} optional, a default value (default: undefined)
// @cache {Boolean} optional, value will be cached (default: false)
// return {Object}
var arr = [];
arr.push({ id: '1', name: 'Peter', age: 30 });
arr.push({ id: '2', name: 'Anna', age: 12 });
arr.push({ id: '3', name: 'Peter', age: 33 });
console.log(arr.findValue('name', 'Peter', 'age', 18));
// Output: 30
Array.quicksort()
Method can sort Array Object
according to the property name in the first level.
Array.quicksort(prop, [asc]);
// @prop {String} A property name
// @asc {Boolean} Optional, true = asc, false = desc (default: true)
// return {Array}
Array.remove()
Method removes all items from Array
according to the filter.
Array.remove([prop], value);
// @prop {String} optional, a property name
// @value {Object} a value to compare
// return {Array}
var arr = [];
arr.push({ id: '1', name: 'Peter', age: 30 });
arr.push({ id: '2', name: 'Anna', age: 12 });
arr.push({ id: '3', name: 'Peter', age: 33 });
console.log(arr.remove('name', 'Peter'));
// Output: [{ id: '2', name: 'Anna', age: 12 }]
Array.remove(fn);
// @fn {Function(item, index} a comparer
// return {Object}
var arr = [];
arr.push({ id: '1', name: 'Peter', age: 30 });
arr.push({ id: '2', name: 'Anna', age: 12 });
arr.push({ id: '3', name: 'Peter', age: 33 });
console.log(arr.remove(function(item) {
return item.age === 12;
}));
// Output: [{ id: '1', name: 'Peter', age: 30 }, { id: '3', name: 'Peter', age: 33 }]
Array.skip()
Method skips count
of items from Array
.
Array.skip(count);
// @count {Number}
// return {Array}
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0];
console.log(arr.skip(5));
// Output: [6, 7, 8, 9, 0]
Array.take()
Method takes count
of items from Array
.
Array.take(count);
// @count {Number}
// return {Array}
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0];
console.log(arr.take(5));
// Output: [1, 2, 3, 4, 5]
Array.takeskip()
Method takes take
and skips skip
of items from Array
.
Array.takeskip(take, skip);
// @take {Number}
// @skip {Number}
// return {Array}
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0];
console.log(arr.takeskip(2, 3));
// Output: [4, 5]
Array.ticks()
Method can resize a large array to required size.
Array.ticks(max, [beg]);
// @take {Number}
// @beg {Boolean} optional, first number must be first item from Array (default: false)
// return {Array}
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0];
console.log(arr.ticks(3));
// Output: [4, 7, 0]
console.log(arr.ticks(3, true));
// Output: [4, 7, 0]
Array.trim()
Method removes empty/nullable items from Array
.
Array.trim();
// return {Array}
var arr = [1, 2, null, 4, 5, '', 7, 8, 9, 0];
console.log(arr.trim());
// Output: [1, 2, 4, 5, 7, 8, 9]
Array.wait()
Method processes each item in Array
asynchronously.
Array.wait(fn, callback);
// @fn {Function(item, next, index)}
// @callback {Funciton} optional
// @thread {Number} optional, thread count (default: 1)
// return {Array}
var arr = [1, 2, 3, 4];
arr.wait(function(item, next, index) {
console.log(item);
setTimeout(next, 1000);
}, function() {
console.log('DONE');
});
// Output:
// 1
// 2
// 3
// 4
// DONE