(3)

[JavaScript] 자바스크립트의 배열 Array

배열(Array) 자바스크립트에서 배열은 이름과 인덱스로 참조되는 정렬된 값의 집합으로 정의된다. 배열을 구성하는 각각의 값을 배열 요소element)라고 하며, 배열에서의 위치를 가리키는 숫자를 인덱스(index)라고 한다. 배열 생성 배열 요소의 타입이 고정되어 있지 않다. 배열 요소의 인덱스가 연속적이지 않아도 되며, 따라서 특정 배열 요소가 비어 있을 수도 있다. Array객체로 다룬다. const arr1 = new Array(); arr1[1] = 10; arr1[3] = '이십'; console.log(arr1); //다차원배열 let arr = [[0,1], [2,3], [4,5], [6,7]] 자바스크립트는 내장된 데이터 타입으로 다차원 배열을 제공하지 않는다. 자바스크립트에서는 모든 것..

JAVA (7) 배열

배열 같은 타입의 변수들로 이루어진 유한한 집합 인덱스 : 배열의 위치를 가리키는 숫자(0번부터 시작) 요소(element) : 배열을 구성하는 각각의 값 1차원, 2차원.......n차원까지 만들 수 있다 length = 배열 전체의 길이를 찾는 매서드 // 변수타입[] 변수명; = {배열요소1, 2, 3, 4, ....}; // 변수타입 변수명[] // 배열 예시 1 String subject1 = "한국어"; String subject2 = "수학"; String subject3 = "영어"; String[] subject = {"한국어", "수학", "영어"}; System.out.println(subject[2]); // 배열 예시 2 String[] human = new String[3]; h..

[JavaScript] 자바스크립트의 배열 Array

Tech/JS & TS 2023. 1. 17. 11:49
728x90
728x90

배열(Array)


자바스크립트에서 배열은 이름과 인덱스로 참조되는 정렬된 값의 집합으로 정의된다.

배열을 구성하는 각각의 값을 배열 요소element)라고 하며, 배열에서의 위치를 가리키는 숫자를 인덱스(index)라고 한다.

 

 

배열 생성


배열 요소의 타입이 고정되어 있지 않다.

배열 요소의 인덱스가 연속적이지 않아도 되며, 따라서 특정 배열 요소가 비어 있을 수도 있다.

Array객체로 다룬다.

const arr1 = new Array();
arr1[1] = 10;
arr1[3] = '이십';
console.log(arr1);

 

 

 

//다차원배열
let arr = [[0,1], [2,3], [4,5], [6,7]]

 

자바스크립트는 내장된 데이터 타입으로 다차원 배열을 제공하지 않는다.

자바스크립트에서는 모든 것이 객체이기 때문에 배열의 각 요소를 다시 배열로 정의해 중첩하는 식으로 다차원 배열을 구현하게 된다. 중첩 배열 형태인 것이다.

그렇기 때문에 다차원이 되면 배열 탐색 속도가 느려지고 언어적인 특성상 배열 요소 자체가 객체이다.

따라서 대량의 데이터 처리에 불리하기에 권장하지 않는다.


 

 

배열 생성


1. var arr = [배열요소1, 배열요소2,...];          // 배열 리터럴을 이용하는 방법
2. var arr = Array(배열요소1, 배열요소2,...);     // Array 객체의 생성자를 이용하는 방법
3. var arr = new Array(배열요소1, 배열요소2,...); // new 연산자를 이용한 Array 객체 생성 방법

 

 

배열 순회


// 기본 for문
let data = [1, 2, 3 ];
for(let i = 0; i < data.length; i++){
  console.log(i);
}
// for Each
let data = [1, 2, 3 ];
data.forEach(function(value){
    console.log("valueis", value);
});
// For of
let data = [1, 2, 3 ];
for( let value of data ){
    console.log( value);
}
// for in : 상위 객체의 함수가 출력될수 있기 때문에 조심해서 사용하도록 한다.
let data = [1, 2, 3 ];
for( let idx in data ){
    console.log( data[idx]);
}

 

 

메서드


메서드 설명
push() 배열의 가장 맨 뒤에 요소 추가
pop() 배열의 가장 맨 뒤 요소 삭제
reverse() 배열의 순서를 반대로
sort() 오름차순 정렬 (문자열 기준)
splice(start, del, item1......) 기존 요소 제거 및 요소 추가
start INDEX부터 del만큼 제거, item이 있다면 item1, item2......추가
join()
toString()
모든요소를 하나의 문자열로 반환
join은 구분자 사용가능하며 기본값은 ','
slice(start, end) start INDEX부터 end-1 INDEX까지의 배열 반환
concat() 배열 뒤에 새로운 배열을 합침
map() 기존의 배열을 콜백함수에 의해 새로운 배열을 만들 때 사용
filter() 해당 배열의 모든 요소에 대하여 반복적으로 콜백함수를 실행
콜백함수의 조건의 대한 결과 값이 true인 요소들만을 새로운 배열에 담아 반환한다.
every() 배열 내 모든 요소들에 대한 조건이 모두 만족할 때 true를 반환
some() 배열 내 모든 요소들에 대한 조건이 하나라도 만족할 때 true를 반환
reduce()
reduceRight()
배열의 모든 요소를 하나의 값으로 줄이기 위해 두 개의 인수를 전달받는 콜백함수 실행
reduce는 배열의 0번INDEX에서 마지막INDEX, reduceRight는 반대
entries()
keys()
values()
entries() : 객체의 Key, Value값을 새로운 배열에 담는다
keys() : Key값만
values() : Value값만

 

//filter
var arr1=[1, -3, 10, 100, -20, 30];
var result=arr1.filter(function(ele){
    return ele>10;
})
console.log(result);   //[100, 30]
//every, some
var arr1=[1, -3, 10, 100, -20, 30];
var result=arr1.every(function(ele){
    return ele>10;
})
console.log(result);  //false

var result2=arr1.some(function(ele){
    return ele>10;
})
console.log(result2);  //true
//reduce, reduceRight
var arr1=[1, -3, 10, 100, -20, 30];
function minus(x,y){
    return x-y;
}
console.log(arr1.reduce(minus));       //-116
console.log(arr1.reduceRight(minus));  //-58

 

728x90
300x250
mag1c

mag1c

2년차 주니어 개발자.

배열 (Array)

Tech/Java & Spring 2022. 12. 10. 10:33
728x90
728x90

배열은 자료형의 집합이다

String[] week = {"월", "화", "수", "목", "금", "토", "일"};

// 배열의 길이는 고정되어 있다
String[] week = new String[7];
week[0] = "월";
week[1] = "화";
week[2] = "수";
week[3] = "목";
week[4] = "금";
week[5] = "토";
week[6] = "일";

// 배열의 길이를 설정하지 않았기 때문에 오류가 발생한다
String[] week = new String[];

// 간단한 배열 출력
for (int i=0; i<week.length; i++) {
    System.out.print(week[i]);         // Console : 월화수목금토일
}

// ArrayIndexOutOfBoundsException
System.out.println(weeks[7]);

 

관련 메서드


// binarySearch : 해당 배열에서 index위치의 값을 검색한 후 반환
int[] arr = new int[1000];
    for(int i = 0; i < arr.length; i++) {
        arr[i] = i;
    }	 
System.out.println(Arrays.binarySearch(arr, 333));    // Console : 333

// copyOf(arr, length) : 해당 배열의 length만큼 복사
// copyOf(arr, from, to) : 해당 배열의 from값의 index부터 to이전까지의 index의 값 복사
int[] arr1= {1,2,3,4,5};
int[] arr2= Arrays.copyOf(arr1, 3);
int[] arr3= Arrays.copyOfRange(arr1, 2, 5);
for(int i=0; i<arr2.length; i++) {
    System.out.print(arr2[i]+" ");             // Console : 1 2 3 
}
System.out.println(); // 개행
for(int i=0; i<arr3.length; i++) {
    System.out.print(arr3[i]+" ");            // Console : 3 4 5 
}

// fill : 배열의 모든 요소를 특정 값으로 초기화
int[] arr4 = new int[5];		
Arrays.fill(arr4, 7);
for(int i=0; i<arr4.length; i++) {
    System.out.print(arr4[i]);               // Console : 77777
}

// sort : 오름차순 정렬
int[] arr5 = {5,7,3,9,15,233};
Arrays.sort(arr5);
for(int i=0; i<arr5.length; i++) {
    System.out.print(arr5[i]+" ");           // Console : 3 5 7 9 15 233
}
728x90
300x250
mag1c

mag1c

2년차 주니어 개발자.

JAVA (7) 배열

Tech/Java & Spring 2022. 11. 19. 20:23
728x90
728x90

배열

  • 같은 타입의 변수들로 이루어진 유한한 집합
  • 인덱스 : 배열의 위치를 가리키는 숫자(0번부터 시작)
  • 요소(element) : 배열을 구성하는 각각의 값
  • 1차원, 2차원.......n차원까지 만들 수 있다
  • length = 배열 전체의 길이를 찾는 매서드
// 변수타입[] 변수명; = {배열요소1, 2, 3, 4, ....};
// 변수타입 변수명[]

 

// 배열 예시 1
String subject1 = "한국어";
String subject2 = "수학";
String subject3 = "영어";
String[] subject = {"한국어", "수학", "영어"};
System.out.println(subject[2]);


// 배열 예시 2
String[] human = new String[3];
human[0] = "인간1";
human[1] = "인간2";
human[2] = "인간3";
System.out.println(human[2]);
System.out.println(human.length); // 배열 전체의 길이를 찾는 메서드

 

배열과 for 문

// 배열과 for문
int[] arr2 = new int[] {60, 80, 70, 50};
for(int i=0; i<arr2.length; i++) {
	if(arr2[i]>=65) {
		System.out.println((i+1)+"번째 학생은 합격입니다");
	}
	else if(arr2[i]<65) {
		System.out.println((i+1)+"번째 학생은 불합격입니다");
	}
//	System.out.println(arr2[i]>=65 ?
//			(i+1)+"번째 학생은 합격입니다" :        // 삼항연산자 사용 가능하다
//			(i+1)+"번째 학생은 불합격입니다");
	}
1번째 학생은 불합격입니다
2번째 학생은 합격입니다
3번째 학생은 합격입니다
4번째 학생은 불합격입니다

 

 

다차원 배열

// 배열 요소의 합 구하기

// int[][] test12 = new int[3][3]; // 3x3의 배열 생성 , 행 ㅡ> 열 순
int[][] test12 = {{10,20,30}, {40,50,60}, {70,80,90}};
int sum=0;
for(int i=0; i<test12.length; i++) {
	for(int j=0; j<test12[i].length; j++) {
		sum+=test12[i][j];
	}
}
System.out.print(sum);


출력된 값 : 450
728x90
300x250
mag1c

mag1c

2년차 주니어 개발자.

방명록