array

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) => C 각 요소를 정제할 함수.
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" } ]