let words = ["사과", "배" , "오렌지"];
Array.isArray(words); // true
Array.isArray([1,2,3); // true
function addToBack([1, 2, 3], 4) {
return arr.push(4); // -> 이 단계에서는 3을 추가한 배열의 길이 4를 반환하기 때문에 배열의 형태로
//반환하는게 아니라서 이 단계에서 return을 하면 안 되고 return arr를 따로 해줘야 한다
}
function addToBack(arr, el) {
arr.push(el);
return arr // **return arr를 따로 해준다**
}
let fruits = ["사과", "오렌지"];
fruits.push("배"); // 3 -> 변경된 배열의 길이 반환
console.log(fruits) // ["사과", "오렌지", "배"];
let fruits = ["오렌지", "배"];
fruits.unshift('사과'); // 3
console.log(fruits) // ["사과", "오렌지", "배"];
let fruits = ["사과", "오렌지", "배"];
fruits.pop(); // "배"
console.log(fruits) // 배열이 "배"를 제외하고 ["사과", "오렌지"]"로 바뀜
let fruits = ["사과", "오렌지", "배"];
fruits.shift(); // "사과"
console.log(fruits) // 배열에서 "사과"를 제거하고 ["오렌지", "배"]로 바뀜
let fruits = ['수박', '바나나', '망고', '두리안'];
let removed = fruits.splice(2, 0, '딸기', '사과');
console.log(fruits); // ['수박', '바나나', '딸기', '사과', '망고', '두리안'];
console.log(removed); // [];
let fruits = ['수박', '바나나', '망고', '두리안'];
let removed = fruits.splice(2, 1);
console.log(fruits); // ['수박', '바나나', '두리안'];
console.log(removed); // ['망고'];
let fruits = ['수박', '바나나', '망고', '두리안'];
let removed = fruits.splice(1, 2, '멜론');
console.log(fruits); // ['수박', '멜론', '두리안'];
console.log(removed); // ['바나나', '망고'];
let fruits = ['수박', '바나나', '망고', '두리안'];
let removed = fruits.splice(-2, 2);
console.log(fruits); // ['수박', '바나나'];
console.log(removed); // ['망고', '두리안'];
let fruits = ['수박', '바나나', '망고', '두리안'];
let removed = fruits.splice(1);
console.log(fruits); // ['수박'];
console.log(removed); // ['바나나', '망고', '두리안'];
slice
메서드는 substring
과 동일하게 동작하며, 배열로부터 특정 범위를 복사한 값들을 담고 있는 새로운 배열을 만드는데 사용되는 메서드이다.
substring
과는 달리 slice
메서드는 음수인 인수를 전달할 수 있으며, 음수인 인수를 전달하면 대상 문자열의 가장 뒤에서부터 시작하여 문자열을 잘라내어 반환한다.
첫 번째 인자로 시작 인덱스, 두 번째 인자로 종료 인덱스를 받으며, 시작 인덱스 부터 종료 인덱스 바로 앞까지의 값을 복사하여 반환한다.
- 기본 문법
arr.slice([begin[, end]])
begin
: 추출 시작점에 대한 인덱스end
: 추출을 종료할 기준 인덱스(end를 제외한(end 이전의) 인덱스까지만 추출)let arr = ['a', 'b', 'c', 'd', 'e', 'f'];
let arr1 = arr.slice(); // ['a', 'b', 'c', 'd', 'e', 'f']
let arr2 = arr.slice(4); // ['e', 'f']
let arr3 = arr.slice(0, 4); // ['a', 'b', 'c', 'd']
let arr4 = arr.slice(4, 4); // []
let arr5 = arr.slice(3, 20); // ['d', 'e', 'f']
let arr6 = arr.slice(2, 0); // []
let arr7 = arr.slice(10, 1); // []
let arr8 = arr.slice(-3); // ['d', 'e', 'f']
let arr9 = arr.slice(-3, -1); // ['d', 'e']
let arr10 = arr.slice(-3, 2); // []
let arr11 = arr.slice(-3, 4); // ['d']
let arr1 = new Array ("배열 1", "배열 2");
let arr2 = new Array ("배열 3", "배열 4");
let arr = arr1.concat(arr2);
var test1 = [1, 2, 3];
var test2 = [4, 5, 6];
console.log(test1.concat(test2)); // [1, 2, 3, 4, 5, 6]
,
)를 구분자로 사용한다.const arr = ['바람', '비', '물'];
console.log(arr.join()); // 바람,비,물
console.log(arr.join('')); // 바람비물
console.log(arr.join(' ')); // 바람 비 물
console.log(arr.join('-')); // 바람-비-물
let words = ["Radagast", "the", "Brown"];
word.indexOf('the'); // 1
word.indexOf('Radagast'); // 0
word.indexOf('Brown'); // 2
word.indexOf('없는단어'); // -1
let words = ["Radagast", "the", "Brown"];
word.indexOf('Brown'); !== -1 // true
word.indexOf('없는단어') !== -1 // false
function hasElement(arr, element) {
let isPresent = arr.indexOf(element) !== -1;
return isPresent;
}
hasElement(words, 'Brown') // true
hasElement(words, '없는것') // false
let words = ["Radagast", "the", "Brown"];
word.inclueds('Brown'); // true
word.inclueds('없는단어'); // false