이번에는 Number형 배열에서 가장 큰 요소를 구하는 방법과 Number형 배열에서 가장 큰 요소를 구하는 주의 사항에 대해 설명하겠습니다. 다음은 실제 사례입니다.
1. 라이브러리 함수를 사용하지 않고
코드는 다음과 같습니다.
function findMax1 (arr) { let result = 0; if (Array.isArray(arr)) { for (let i = 0; i < arr.length; i++) { result = arr[i] > result ? arr[i] : result; } return result; } else { console.error('The parameter arr is not an array'); return; } }
설명:
변수 결과를 사용하여 최대값을 저장합니다. 검색할 배열을 순회합니다. 현재 순회하는 요소가 결과보다 큰 경우 이 요소를 결과에 할당합니다.
2. Array.reduce()를 사용하세요
코드는 다음과 같습니다.
function findMax2 (arr) { let result = 0; if (Array.isArray(arr)) { result = arr.reduce((a, b) => { return a > b ? a : b; }, 0); return result; } else { console.error('The parameter arr is not an array'); return; } }
설명:
reduce 메서드는 배열을 누산기로 줄이고 배열의 각 요소를 축소합니다. 값.
reduce는 두 개의 매개변수를 허용합니다:
첫 번째 매개변수는 앞서 언급한 함수인 콜백입니다. 여기에는 4개의 매개변수가 있습니다:
accumulator: 마지막 콜백 실행의 결과인 Accumulator. initialValue가 제공되면 첫 번째 시간은initialValue입니다.
currentValue: 현재 순회하는 배열의 요소
currentIndex: 0부터 시작하는 현재 순회하는 배열의 요소 인덱스입니다. initialValue가 제공되면 1부터 시작합니다.
배열: 현재 축소가 적용되는 배열입니다.
두 번째는 초기값으로 콜백 함수의 첫 번째 실행 시 첫 번째 실제 매개변수로 사용되는initialValue입니다. 이는 선택사항입니다. 이 매개변수가 제공되지 않고 빈 배열에 적용되면 오류가 보고된다는 점에 유의하세요.
그러면 위 코드의 의미는 비교를 위해 배열을 순회할 때마다 더 큰 것, 즉 누산기가 남고, 배열 요소와의 다음 비교에 사용된다는 것입니다. 결국 최대값인 이 값만 남게 된다.
3. Apply 및 Math.max() 사용
코드는 다음과 같습니다.
function findMax3 (arr) { let result = 0; if (Array.isArray(arr)) { result = Math.max.apply(null, arr); return result; } else { console.error('The parameter arr is not an array'); return; } }
설명:
apply에 대한 설명은 약간 복잡하므로 더 이상의 설명은 생략하겠습니다.
두 개의 매개변수를 허용합니다. 첫 번째는 thisArg이고 두 번째는 argsArray입니다. 둘 다 선택 사항입니다. 간단히 말해서, 함수를 사용할 때 매개변수는 배열로 전달됩니다.
4. Math.max()를 사용하세요
코드는 다음과 같습니다.
function findMax4 (arr) { let result = 0; if (Array.isArray(arr)) { result = Math.max(...arr); return result; } else { console.error('The parameter arr is not an array'); return; } }
설명:
이전 솔루션의 아이디어를 바탕으로 ES6에는 스프레드 연산자(.. .) 배열의 요소는 쉼표로 구분된 순서로 구분됩니다. Math.max() 함수의 요구 사항을 충족합니다.
JS
1에서 숫자, 수학 및 배열과 관련된 지식 포인트를 소개하고 싶습니다.
숫자 객체 생성 방법:
방법 1:
var 변수 = 새 숫자(숫자)
방법 2:
var 변수 = 숫자;
일반적으로 사용되는 방법:
toString() 숫자 변환 into 기본 형식으로 문자열을 지정합니다. (숫자를 입력하면 숫자로 변환됩니다. number.toString(2))
toFixed()는 소수점 자리가 유지되도록 지정하고 반올림 기능도 있습니다.
2, Math Between(0 포함, 1 제외), 반올림3, Array array
Object: Create 배열 메소드 1: var 변수 이름 = new Array(); 정렬. 방법 2: var 변수 이름 = new Array(length)는 지정된 길이의 배열 객체를 생성합니다. var 변수 이름 = new Array("Element 1", "Element 2"...); 배열의 요소를 지정하여 배열 개체를 만듭니다. 방법 4:var 变量名 = ["元素1","元素2"...];
数组要注意的细节:
1. 在javascript中数组的长度是可以发生变化的。
var arr = new Array(); //创建了一个长度为0的数组对象。 arr[100] = 10; document.write("arr长度:"+arr.length+"<br/>"); var arr2 = new Array("狗娃","狗剩","铁蛋"); arr2 = ["狗娃","狗剩","铁蛋","张三"]; document.write("arr2长度:"+arr2.length+"<br/>");
3.1数字的方法
a、concat把arr1与arr2的数组元素组成一个新的数组返回。 arr1 = arr1.concat(arr2);
b、join使用指定的分隔符把数组中的元素拼装成一个字符串返回。
var elements = arr1.join(",");
c、pop :移除数组中的最后一个元素并返回该元素。
d、push:将新元素添加到一个数组中,并返回数组的新长度值。
arr1.push("你好");
e、reverse(); 翻转数组的元素
f、slice指定数组 的开始索引值与结束索引值截取数组的元素,并且返回子数组。(包头不包尾)
var subArr = arr1.slice(1,2);
g、sort排序,排序的时候一定要传入排序的方法。(不传时默认是按照ASCII表排列)
arr1 = [19,1,20,5]; arr1.sort(sortNumber); //排序,排序的时候一定要传入排序的方法。 function sortNumber(num1,num2){ return num1-num2; }
h、splice第一个参数是开始删除元素的 索引值, 第二参数是删除元素的个数,往后的数据就是插入的元素(也可以不写)。
arr1.splice(1,1,"张三","李四","王五");
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
위 내용은 숫자 유형 배열에서 가장 큰 요소를 얻는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!