Methods
(static) availableOr(availableopt, value, oropt)
지정된 avaliable 에 value 가 포함되는 경우 value 를, 그렇지 않은 경우 or 값을 반환
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
available |
<optional> |
[] | 유효한 값들 | |
value |
검사할 값 | |||
or |
<optional> |
null | 검사할 값이 유효한 값에 포함되지 않을 경우 대체 값 |
- Source:
Example
console.log(availableOr(available1, 10, 10)); // 10
console.log(availableOr(available1, 20, 10)); // 20
console.log(availableOr(available1, 30, 10)); // 30
console.log(availableOr(available1, 30, null)); // 30
console.log(availableOr(available1, 111, 10)); // 10
console.log(availableOr(available1, 222, 10)); // 10
console.log(availableOr(available1, 333, 10)); // 10
console.log(availableOr(available1, 444, null)); // null
(static) distinct(array, uniqueFnopt)
중복된 값을 제외시킨 배열을 반환 합니다.
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
array |
소스 배열 | ||
uniqueFn |
<optional> |
직접 filter 할 key 값을 반환할 수 있는 함수 |
- Source:
Example
const arr1 = [1, 2, 3, 4, 5];
const arr2 = [1, 2, 1, 3, 4, 4, 3, 5, 1];
const arr3 = [
{ id: 1, name: "google" },
{ id: 2, name: "microsoft" },
{ id: 1, name: "google" },
{ id: 3, name: "amazone" }
];
console.log(distinct(arr1)); // [1, 2, 3, 4, 5]
console.log(distinct(arr2)); // [1, 2, 3, 4, 5]
console.log(distinct(arr3, item => {
return item.id;
})); // [{ id: 1, name: "google" }, { id: 2, name: "microsoft" }, { id: 3, name: "amazone" }]
(static) extract(ref, indexopt, deleteCountopt)
지정된 ref 배열의 index ~ deleteCount 만큼 제거합니다.
(원본 ref 가 직접 변경 됩니다.)
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
ref |
소스 배열 | |||
index |
<optional> |
0 | 삭제 시작 index | |
deleteCount |
<optional> |
1 | 삭제 갯수 |
- Source:
Example
console.log(extract([1, 2, 3, 4])); // [2, 3, 4];
console.log(extract([1, 2, 3, 4], 1, 1)); // [1, 3, 4];
console.log(extract([1, 2, 3, 4], 2, 1)); // [1, 2, 4];
console.log(extract([1, 2, 3, 4], 3, 1)); // [1, 2, 3];
console.log(extract([1, 2, 3, 4], 0, 2)); // [3, 4];
console.log(extract([1, 2, 3, 4], 0, 10)); // [];
console.log(extract([1, 2, 3, 4], 2, 10)); // [1, 2];
(static) insert(ref, indexopt, value)
지정된 ref 배열의 index 에 value 를 삽입합니다.
(원본 ref 가 직접 변경 됩니다.)
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
ref |
소스 배열 | |||
index |
<optional> |
0 | 삽입될 인덱스 | |
value |
삽입될 값 |
- Source:
Example
console.log(insert([1, 2, 3], 1, 99)); // [1, 99, 2, 3]
console.log(insert([1, 2, 3], 1, ["A", "B"])); // [1, "A", "B", 2, 3];
console.log(insert([1, 2, 3], 10, 99)); // [1, 2, 3, 99]);
console.log(insert([1, 2, 3], 10, ["A", "B"])); // [1, 2, 3, "A", "B"];
console.log(insert([1, 2, 3], null, "A")); // ["A", 1, 2, 3];
(static) shuffle(ref, seedopt)
배열을 섞습니다.
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
ref |
소스 배열 | ||
seed |
<optional> |
getRandomizer |
- Source:
Example
const arr = [1,2,3,4];
shuffle(arr);
console.log(arr); // [?,?,?,?]
(static) tail(array, shiftIndexopt, overflowSafeopt)
지정된 마지막 배열을 아이템을 반환 합니다.
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
array |
소스 배열 | |||
shiftIndex |
<optional> |
0 | 아이템을 꺼낼 index. (뒤에서 앞으로) | |
overflowSafe |
<optional> |
true | 계산된 index 가 0 보다 작은 경우는 맨 앞, length 보다 큰 경우는 마지막 아이템 index 로 찾을지 여부 |
- Source:
Example
console.log(tail([1, 2, 3, 4])); // 4
console.log(tail([1, 2, 3, 4],1)); // 3
console.log(tail([1, 2, 3, 4],2)); // 2
console.log(tail([1, 2, 3, 4],3)); // 1
console.log(tail([1, 2, 3, 4],4)); // 1
console.log(tail([1, 2, 3, 4],-1)); // 4
(static) transposeRow(ref) → {Array.<Array.<T>>}
1차원 행[]을 2차원 행열[][]로 바꿉니다. 원본 컬럼을 그대로 사용합니다.
Parameters:
Name | Type | Description |
---|---|---|
ref |
Array.<T> | 변경 할 배열 |
- Source:
Returns:
- Type
- Array.<Array.<T>>
Example
const arr = [{id:1,name:'A'},{id:2,name:'B'},{id:3,name:'C'}];
const rows = transposeRow(arr);
console.log(rows); // [[{"id":1,"name":"A"},{"id":2,"name":"B"},{"id":3,"name":"C"}],[{"id":1,"name":"A"},{"id":2,"name":"B"},{"id":3,"name":"C"}],[{"id":1,"name":"A"},{"id":2,"name":"B"},{"id":3,"name":"C"}]]
(static) transposeRowFilter(ref, filter) → {Array.<Array.<C>>}
1차원 행[]을 2차원 행열[][]로 바꿉니다. 필터를 거친 요소로 변경합니다.
Parameters:
Name | Type | Description |
---|---|---|
ref |
Array.<T> | 변경 할 배열 |
filter |
function | (params: TransposeRowFilterParams |
- Source:
Returns:
- Type
- Array.<Array.<C>>
Example
const arr = [{id:1,name:'A'},{id:2,name:'B'},{id:3,name:'C'}];
const rows = transposeRowFilter(arr, (params) => {
const { rowIndex, columnIndex, item } = params;
return {
...item,
myValue1: item.name.toLowerCase(),
rowIndex,
columnIndex,
};
});
console.log(rows); // [[{"id":1,"name":"A","myValue1":"a","rowIndex":0,"columnIndex":0},{"id":2,"name":"B","myValue1":"b","rowIndex":0,"columnIndex":1},{"id":3,"name":"C","myValue1":"c","rowIndex":0,"columnIndex":2}],[{"id":1,"name":"A","myValue1":"a","rowIndex":1,"columnIndex":0},{"id":2,"name":"B","myValue1":"b","rowIndex":1,"columnIndex":1},{"id":3,"name":"C","myValue1":"c","rowIndex":1,"columnIndex":2}],[{"id":1,"name":"A","myValue1":"a","rowIndex":2,"columnIndex":0},{"id":2,"name":"B","myValue1":"b","rowIndex":2,"columnIndex":1},{"id":3,"name":"C","myValue1":"c","rowIndex":2,"columnIndex":2}]];
(static) uniqueFilter(uniqueFn)
unique 필터를 만들 때 흔히 반복되는 구문을 구현해 놓은 함수
Parameters:
Name | Type | Description |
---|---|---|
uniqueFn |
filter 할 key 값을 반환할 수 있는 함수 |
- Source:
Example
const arr1 = [
{ id: 1, name: "google" },
{ id: 2, name: "microsoft" },
{ id: 1, name: "google" },
{ id: 3, name: "amazone" }
];
const idFilter = item => {
return item.id;
};
const nameFilter = item => {
return item.name;
};
console.log(arr1.filter(uniqueFilter(idFilter))); // [{ id: 1, name: "google" },{ id: 2, name: "microsoft" },{ id: 3, name: "amazone" } ]
console.log(arr1.filter(uniqueFilter(nameFilter))); // [{ id: 1, name: "google" },{ id: 2, name: "microsoft" },{ id: 3, name: "amazone" } ]