본문 바로가기
자바스크립트

[JavaScript] 배열에 들어있는 값을 찾는 findIndex 함수

by 펜네임 2021. 9. 27.

findIndex()

var newList = [];
var paramIdx = -1;
var foundIdx = -1;
	
// 모든 행 체크
for(var i=0; i < DataList.length; i++){
		
	// 현재 체크하는 행
	insertData = DataList[i];
		
	// 첫번째 행은 무조건 넣기 
	if (newList.length < 1) {
		newList.push(insertData);
		newIdx++;
		continue;
	}
        
	foundIdx = newList.findIndex(function(key) {return key["name"] === insertData.name});
			
	if (foundIdx < 0) {
		newList.push(insertData);
		newIdx++;
			
	} else {
		newList[newIdx].buyer += (", " + insertData.buyer);
	}
}

 

filter() : findIndex를 대체하는 함수

IE는 findIndex 함수를 지원하지 않기 때문에,

findIndex의 대용으로 사용할 수 있다.

var newList = [];
var paramIdx = -1;
var filteredList = [];
	
// 모든 행 체크
for(var i=0; i < DataList.length; i++){
		
	// 현재 체크하는 행
	insertData = DataList[i];
		
	// 첫번째 행은 무조건 넣기 
	if (newList.length < 1) {
		newList.push(insertData);
		newIdx++;
		continue;
	}
        
	filteredList = newList.filter(function(element) {
		return element.name === insertData.name
	});
			
	if (filteredList.length < 1) {
		newList.push(insertData);
		newIdx++;
			
	} else {
		newList[newIdx].buyer += (", " + insertData.buyer);
	}
}

댓글