bui.array Class
常用小方法
Item Index
Methods
compare
-
array
-
value
-
[key]
Defined in
/Users/wilson/personal/htdocs/opensource/bui-rollup/src/scripts/method/bui.array.js:73
Available since 1.5.2
比对数组是否已经存在,支持普通数组及JSON数组, 1.5.2 写法统一为数组在前, 1.5.2以前的版本是数组在后.
Parameters:
-
array
Array[数组]
-
value
String[要比对的值值]
-
[key]
String optional[object的键名]
Returns:
[返回true|false]
Example:
//普通数组:
var arr = ["hello","bui","hi","bui"];
var isExist = bui.array.compare( arr, "bui" );
// console.log(isExist) //结果: true
//JSON数组:
var arr = [{ "id":1,value:"hello"},{ "id":2,value:"bui"}];
var isExist = bui.array.compare( arr, "bui", "value" );
// console.log(isExist) //结果: true
copy
-
array
-
[from]
-
[length]
复制数组某一部分
Parameters:
-
array
Array[数组]
-
[from]
Number optional[从第几个复制,默认为0,复制整个数组则不用传]
-
[length]
Number optional[复制多少个,不填则是到最后一个]
Returns:
[返回一个新的数组]
Example:
var arr = ["hello","bui","hi","easybui"];
var newArr = bui.array.copy( arr, 1 );
var newArr2 = bui.array.copy( arr, 1,2 );
// console.log(newArr) //结果: ["bui","hi","easybui"]
// console.log(newArr2) //结果: ["bui","hi"]
delete
-
array
-
name
-
[key]
Defined in
/Users/wilson/personal/htdocs/opensource/bui-rollup/src/scripts/method/bui.array.js:656
Available since 1.5.2
跟remove的区别在于这个接口返回删除前的所在索引, 便于两个相同数据进行比对
Parameters:
-
array
Array[数组]
-
name
String | Number | Array[要删除的数据,值,或者索引]
-
[key]
String | Number optional[object的键名,非object可以不用传]
Returns:
[返回删除前的所在位置]
Example:
//普通数组:
var arr = ["hello","bui","hi","bui"];
var indexs = bui.array.delete(arr , "bui" );
// console.log(newArr) //结果: ["hello","hi"]
//JSON数组:
var arr = [{ "id":1,value:"hello"},{ "id":2,value:"bui"}];
var indexs = bui.array.delete( arr, "bui", "value" );
// console.log(newArr) //结果: [{ "id":1,value:"hello"}]
empty
-
array
Defined in
/Users/wilson/personal/htdocs/opensource/bui-rollup/src/scripts/method/bui.array.js:410
Available since 1.5.1
清空数组
Parameters:
-
array
Array[数组]
Returns:
[空数组]
Example:
var arr = ["hello","bui","hi","easybui"];
var newArr = bui.array.empty( arr );
excess
-
array
-
value
-
[key]
1.5.1以后废弃,使用 bui.array.uniq(arr) 替代. 去除数组的某个多余数据,支持普通数组及JSON数组, 1.5.2 写法统一为数组在前, 1.5.2以前的版本是数组在后.
Parameters:
-
array
Array[数组]
-
value
String[要匹配的值]
-
[key]
String optional[object的键名]
Returns:
[返回一个没有重复数据的数组]
Example:
//普通数组:
var arr = ["hello","bui","hi","bui"];
var newArr = bui.array.excess( arr,"bui" );
// console.log(newArr) //结果: ["hello","bui","hi"]
//JSON数组:
var arr = [{ "id":1,value:"hello"},{ "id":2,value:"bui"},{ "id":3,value:"bui"}];
var newArr = bui.array.excess( arr,"bui","value" );
// console.log(newArr) //结果: [{ "id":1,value:"hello"},{ "id":2,value:"bui"}]
filter
-
array
-
value
-
[key]
Defined in
/Users/wilson/personal/htdocs/opensource/bui-rollup/src/scripts/method/bui.array.js:182
Available since 1.5.2
模糊筛选数组,支持普通数组及JSON数组, 1.5.2 写法统一为数组在前, 1.5.2以前的版本是数组在后.
Parameters:
-
array
Array[数组]
-
value
String[要查找的值]
-
[key]
String optional[object的键名]
Returns:
[返回筛选的元素]
Example:
//普通数组:
var arr = ["hello","bui","hi","easybui"];
var newArr = bui.array.filter(arr,"bui");
// console.log(newArr) //结果: ["bui","easybui"]
//JSON数组:
var arr = [{ "id":1,value:"hello"},{ "id":2,value:"bui"},{ "id":3,value:"easybui"}];
var newArr = bui.array.filter( arr,"bui","value" );
// console.log(newArr) //结果: [{ "id":2,value:"bui"},{ "id":3,value:"easybui"}]
get
-
array
-
value
-
[key]
Defined in
/Users/wilson/personal/htdocs/opensource/bui-rollup/src/scripts/method/bui.array.js:521
Available since 1.5.2
返回存在的值,支持普通数组及JSON数组, filter返回多个匹配值,get只取第一个完全匹配的值
Parameters:
-
array
Array[数组]
-
value
String[要查找的值]
-
[key]
String optional[如果是object,需要传该值在哪个键名里]
Returns:
[返回筛选的第一个符合的元素]
Example:
//普通数组:
var arr = ["hello","bui","hi","easybui"];
var item = bui.array.get( arr,"bui" );
// console.log(item) //结果: bui
//JSON数组:
var arr = [{ "id":1,value:"hello"},{ "id":2,value:"bui"},{ "id":3,value:"easybui"}];
var item = bui.array.get( arr, "bui", "value" );
// console.log(newArr) //结果: { "id":2,value:"bui"}
getAll
-
array
-
value
-
[key]
Defined in
/Users/wilson/personal/htdocs/opensource/bui-rollup/src/scripts/method/bui.array.js:563
Available since 1.5.2
返回存在的所有值,支持普通数组及JSON数组, filter返回多个匹配值,get只取第一个完全匹配的值
Parameters:
-
array
Array[数组]
-
value
String[要查找的值]
-
[key]
String optional[如果是object,需要传该值在哪个键名里]
Returns:
[返回数组]
Example:
//普通数组:
var arr = ["hello","bui","hi","easybui"];
var item = bui.array.getAll( arr,"bui" );
// console.log(item) //结果: ["bui","easybui"]
//JSON数组:
var arr = [{ "id":1,value:"hello"},{ "id":2,value:"bui"},{ "id":3,value:"easybui"}];
var item = bui.array.getAll( arr, "bui", "value" );
// console.log(newArr) //结果: [{ "id":2,value:"bui"},{ "id":3,value:"easybui"}]
index
-
array
-
value
-
[key]
Defined in
/Users/wilson/personal/htdocs/opensource/bui-rollup/src/scripts/method/bui.array.js:20
Available since 1.5.2
返回存在的第1个位置,支持普通数组及JSON数组, 1.5.2 写法统一为数组在前, 1.5.2以前的版本是数组在后.
Parameters:
-
array
Array[数组]
-
value
String[要检测的值]
-
[key]
String optional[object的键名]
Returns:
[返回的位置如果大于0,则存在]
Example:
1.5.2
//普通数组:
var arr = ["hello","bui","hi","bui"];
var index = bui.array.index( arr, "bui" );
// console.log(index) //结果: 1
//JSON数组:
var arr = [{ "id":1,value:"hello"},{ "id":2,value:"bui"}];
var index = bui.array.index( arr, "bui", "value" );
// console.log(index) //结果: 1
indexs
-
array
-
value
-
[key]
Defined in
/Users/wilson/personal/htdocs/opensource/bui-rollup/src/scripts/method/bui.array.js:235
Available since 1.5.2
返回数组的所有索引,支持普通数组及JSON数组, 1.5.2 写法统一为数组在前,值在后, 1.5.2以前的版本是值在前,数组在后.
Parameters:
-
array
Array[数组]
-
value
String[要匹配的值]
-
[key]
String optional[object的键名]
Returns:
[返回存在的索引数组]
Example:
//普通数组:
var arr = ["hello","bui","hi","bui"];
var index = bui.array.indexs( arr,"bui" );
// console.log(index) //结果: [1,3]
//JSON数组:
var arr = [{ "id":1,value:"hello"},{ "id":2,value:"bui"}];
var index = bui.array.indexs( arr,"bui", "value" );
// console.log(index) //结果: [1]
merge
-
array
-
arrayA
Defined in
/Users/wilson/personal/htdocs/opensource/bui-rollup/src/scripts/method/bui.array.js:458
Available since 1.5.1
合并2个数组, A数组+B数组+C数组 并会触发 A数组的更新
Parameters:
-
array
Array[数组]
-
arrayA
Array[支持多个数组]
Returns:
[空数组]
Example:
var arr = ["hello","hi","easybui"];
bui.array.merge( arr, ["new","bui"]);
// console.log(arr) ["hello","hi","easybui", "new","bui"]
remove
-
array
-
value
-
[key]
Defined in
/Users/wilson/personal/htdocs/opensource/bui-rollup/src/scripts/method/bui.array.js:123
Available since 1.5.2
删除数组的某个值或者对象,支持普通数组及JSON数组,并且1.5.1支持删除多个数据. 1.5.2 写法统一为数组在前, 1.5.2以前的版本是数组在后.
Parameters:
-
array
Array[数组]
-
value
String[要删除的值]
-
[key]
String | Number optional[object的键名,或者数组的索引]
Returns:
[返回删除后的数组]
Example:
//普通数组:
var arr = ["hello","bui","hi","bui"];
var newArr = bui.array.remove( arr, "bui" );
// console.log(newArr) //结果: ["hello","hi"]
//JSON数组:
var arr = [{ "id":1,value:"hello"},{ "id":2,value:"bui"}];
var newArr = bui.array.remove( arr, "bui", "value" );
// console.log(newArr) //结果: [{ "id":1,value:"hello"}]
replace
-
array
Defined in
/Users/wilson/personal/htdocs/opensource/bui-rollup/src/scripts/method/bui.array.js:432
Available since 1.5.1
替换数组
Parameters:
-
array
Array[数组]
Returns:
[空数组]
Example:
var arr = ["hello","hi","easybui"];
var newArr = bui.array.replace( arr, ["new","bui"]);
// ["new","bui"]
set
-
array
-
key
Defined in
/Users/wilson/personal/htdocs/opensource/bui-rollup/src/scripts/method/bui.array.js:604
Available since 1.5.1
修改数组及数组对象,结合store触发数据变更
Parameters:
-
array
Array[数组]
-
key
Number | String[]
Returns:
[空数组]
Example:
例子1: 修改索引值
var arr = ["hello","hi","easybui"];
bui.array.set( arr, 1, "new hi");
// ["hello","new hi","easybui"]
例子2: 修改值
var arr = ["hello","hi","easybui"];
bui.array.set( arr, "hi", "new hi");
// ["hello","new hi","easybui"]
例子3: 修改对象值
var arr = [{name:"hello"},{name:"hi"},{name:"easybui"}];
bui.array.set( arr, 1, {name:"new hi"} );
// [{name:"hello"},{name:"new hi"},{name:"easybui"}]
例子4: 修改对象某个字段值, 需要传多一个唯一值的字段名
var arr = [{name:"hello"},{name:"hi"},{name:"easybui"}];
bui.array.set( arr, "hi", {name:"new hi"}, "name" );
// [{name:"hello"},{name:"new hi"},{name:"easybui"}]
uniq
-
array
-
[key]
Defined in
/Users/wilson/personal/htdocs/opensource/bui-rollup/src/scripts/method/bui.array.js:336
Available since 1.5.1
数组去重,支持普通数组及JSON数组
Parameters:
-
array
Array[数组]
-
[key]
String optional[数组里,如果是object,进行去重的值在哪个键名]
Returns:
[返回一个没有重复数据的数组]
Example:
//普通数组:
var arr = ["hello","bui","hi","bui"];
var newArr = bui.array.uniq( arr );
// console.log(newArr) //结果: ["hello","bui","hi"]
//JSON数组:
var arr = [{ "id":1,value:"hello"},{ "id":2,value:"bui"},{ "id":3,value:"bui"}];
var newArr = bui.array.uniq( arr, "value" );
// console.log(newArr) //结果: [{ "id":1,value:"hello"},{ "id":2,value:"bui"}]