최근에는 배열과 문자열부터 시작해서 js의 기본을 정리하고 있어요.
string 일반적인 방법:
1.substring(시작 시작 위치 인덱스, 끝 끝 위치 인덱스) 가로채는 위치에는 끝 위치 문자가 포함되지 않으며 가로채기를 나타내는 매개변수 하나만 작성됩니다. 끝에서
var str='abcdefg'; str.substring(1) //得到bcdefg str.substring(1,3) //得到bc
음수 입력 시 음수 값을 0으로 변경하고, 둘 중 작은 값이 시작 위치로 사용됩니다.
str .substing(-1,1) => str.substring(0,1) //a
str.substring(1,-2) =>str.substring(0,1) //a
2.slice(시작 시작 위치 인덱스, 끝 위치 인덱스)는 기본적으로 하위 문자열과 유사하지만 차이점은 매개 변수가 음수라는 점입니다.
var str='abcdefg'; str.slice(1) //bcdefg str.substring(1,3) // bc
음수 값을 입력하면 해당 값이 문자열 길이에 추가됩니다.
str.slice(-1)
str.slice(1 ,-2) =>str.slice(1,5) //bcde
str.slice(-2,-1)=>str.slice(5,6) //f의 절대값이
이 문자열 길이보다 크면 0이 됩니다
str.slice(-22) =>str.substring(0) //abcdefg
일 때 두 번째 매개변수의 절대값이 문자열 길이보다 큰 경우 ''
3.substr을 반환합니다(시작 위치 인덱스 시작, 반환할 문자 수 끝)
var str='abcdefg'; str.substr(1) //bcdefg str.substr(1,1) //b
음수 값을 입력하면 문자열 길이에 시작 매개변수가 추가되고, 끝이 음수이면 매개변수가 0이 됩니다.
str.substr(-1) =>str.substr(6)//g str.substr(-2,-3) // ''
4 .charAt(index) 메소드는 지정된 인덱스 위치 문자를 반환합니다. 인덱스 값이 유효한 범위(0 및 문자열 길이에서 1을 뺀 값)를 초과하는 경우 빈 문자열이 반환됩니다.
var str='abcdefg'; str.charAt(2) // c
5.index(string) String 객체 문자열 위치의 하위 문자입니다. 하위 문자열을 찾을 수 없으면 -1이 반환됩니다.
var str='abcdefga' str.indexOf('a') // 0 str.indexOf('h') //-1
6.lastIndexOf(string) 플래시백 검색
String 객체에서 첫 번째 하위 문자열 발생 위치를 반환합니다. 하위 문자열을 찾을 수 없으면 -1이 반환됩니다.
var str='abcdefga' str.lastIndexOf('a') // 7
7.split(str) 매개변수를 사용하여 문자열을 배열로 분할합니다.
var str='abcadeafg' str.split('a') //["", "bc", "de", "fg"]
8. toLowerCase 메소드는 문자를 변환한 문자열을 반환합니다. 소문자로.
9. toUpperCase 메소드는 모든 문자를 대문자로 변환한 문자열을 반환합니다.
10.match() – 메소드는 문자열 내에서 지정된 값을 검색하거나 하나 이상의 정규 표현식과 일치하는 항목을 찾을 수 있습니다.
11.search 메소드는 정규 표현식 검색과 동일한 결과를 반환합니다. 내용이 일치하는 첫 번째 문자열의 위치입니다.
12.replace는 정규식과 일치하는 문자열을 찾은 다음 일치하는 문자열을 새 문자열로 바꾸는 데 사용됩니다.
http://www.cnblogs.com/bijiapo/p/ 5451924. html
배열에 자주 사용되는 메소드
1. push 끝에 추가 추가된 배열을 반환
2. unshift 맨 앞에 추가 추가된 배열을 반환
3. Shift 삭제(앞에서) 처리된 배열 반환
4. pop 마지막 항목 삭제 처리된 배열 반환
5. 처리된 배열 반환
6. Join 배열을 문자열로 변환
var arr=[1,2,3,4,5], str=arr.join('--'); console.log(str); // 1--2--3--4--5 以join内的参数切割数组 console.log(arr); // [1,2,3,4,5] 原数组未变
7. Slice(start,end) 시작(시작)부터 끝(끝 포함되지 않음)까지 가로채기
새 배열로 돌아가면 원래 배열은 변경되지 않습니다.
var arr=[1,2,3,4,5],new=arr.slice(2,4); console.log(new); // [3,4] console.log(arr); // [1,2,3,4,5]8. 병합된 배열 연결
9. 배열 배열 (1). 위의 str 슬라이스와 유사하게 매개변수 위치를 가로채서 음수를 채웁니다. 원래 배열이
var arr=[1,2,3,4,5]; console.log(arr.splice(1)); // [2,3,4,5] console.log(arr); // [1] console.lgo(arr.splice(-1)) // [5](2)로 변경됩니다. , 숫자) 가로챈 배열을 반환합니다. 원래 배열 변경
var arr=[1,2,3,4,5]; console.log(arr.splice(1,3)); // [2,3,4] console.log(arr) // [1,5] arr.splice(0,1) =>arr.shift() arr.splcie(arr.length-1,1) =>arr.pop()(3). 원본 배열 증가
var arr=[1,2,3,4,5]; console.log(arr.splice(1,0,13)); // [] console.log(arr); // [1,13,2,3,4,5](4)를 추가합니다. 🎜>
var arr=[1,2,3,4,5]; console.log(arr.splice(1,2,'a','b')) // [2,3] console.log(arr); // [1,'a','b',4,5] arr.splice(0,0,1) =>arr.unshift(1); arr.splice(arr.length,0,1) => arr.push(1)
10. arr.forEach(item,index,array){} 순회, jquery의 Each와 유사한 루프
item 매개변수는 배열의 콘텐츠, index입니다. 는 인덱스이고, 배열은 배열 자체를 나타냅니다.
var arr=[1,2,3,4,5]; arr.forEach(function(item,index,array){ })
중첩 루프에서 빠져나올 때 문제가 있는데 아직 해결되지 않았습니다.
11. map 메소드 매핑 사용법은 forEach
var men=[ {'name':1,'age':12}, {'name':2,'age':22}, {'name':3,'age':33} ], age=men.map(function(item){ return item.age; })
와 유사합니다. 12. arr.sort 정렬
var arr=[1,2,22,11,33,3,5,4]; console.log(arr.sort()) // [1,11,2,22,3,33,4,5]
기본적으로 정렬 방법은 우리가 생각하는 숫자 순서가 아닌 ASCII 알파벳 순서로 정렬됩니다
arr.sort(function(a,b){ return a-b})
a-b从小到大 b-a从大到小
13. 顺便写写我知道的排序方法
(1)冒泡排序 每次比较相邻的两个数,如果后一个数比前一个数小,换位置
function bSort(arr){ var tmp; for(var i=0,len=arr.length-1;i<len;i++){ for(var j=0;j<len;j++){ if(arr[j]>arr[j+1]){ //换位置 tmp=arr[j+1]; arr[j+1]=arr[j]; arr[j]=tmp; } } } return arr; } function bSort(arr){ var tmp; arr.forEach(function(item,i){ arr.forEach(function(item,i){ if(item>arr[i+1]){ //换位置 tmp = arr[i + 1]; arr[i + 1] = arr[i]; arr[i] = tmp; } }) }) return arr }
(2)快速排序 二分法,找到中间的数,取出来(新数组),原数组没,每次和此数比较,小的放到左边,大的放到右面
function fastSoft(arr){ var len=arr.length; if(len<=1){ return arr} var cIndex=Math.floor(len/2), c=arr.splice(c,1), left=[], right=[]; arr.forEach(function(item,i){ if(item<c[0]){ left.push(item); }else{ right.push(item); } }) return fastSoft(left).concat(c,fastSoft(right)); }
14. 数组的去重也写下吧
(1)双层循环不是很好
var arr=[2,3,2,2,2,4,5], arr2=[]; function find(arr2,ele){ for(var i= 0,len=arr2.length;i<len;i++){ if(arr2[i]==ele) return true; } return false; } for(var i= 0,len=arr.length;i<len;i++){ if(!find(arr2,arr[i])){ arr2.push(arr[i]); } }
(2)利用json的key值无重复
var arr=[2,3,2,2,2,4,5], json={}, arr2=[]; arr.forEach(function(item,i){ if(!json[item]){ json[item]=222; } }); for(var name in json){ arr2.push(Number(name));//类型发生变化了 }
(3) 利用sort方法排序,去掉旁边相同项
var arr=[2,3,2,4,4,4,5], arr2=[]; arr.sort(); for(var i=0;i<arr.length;i++){ if(arr[i]==arr[i+1]){ arr.splice(i--,1); } }
一些常见数学方法
math.abs() 取绝对值 math.ceil() 向上取整 math.floor() 向下取整 math.round() 四舍五入 math.roundom function getRan(n,m){ return Math.floor(Math.random()*(m-n)+n); }
数组和字符串的一些综合应用
1. 截取后缀名
(1) var str='1.xxx.avi';
str=str.substring(str.lastIndexOf('.')+1);
(2) var str='1.xxx.avi';
var arr=str.split('.'); console.log(arr[arr.length-1]);
2.字母翻转,首字母大写
var str='wo shi yi ge demo', arr=str.split(' '); for(var i=0;i<arr.length;i++){ console.log() arr[i]=arr[i].charAt(0).toUpperCase()+arr[i].substring(1); } arr.reverse(); str=arr.join(' ');
3. str中字符出现次数的统计
var str='aaaandkdffsfsdfsfssq12345', json={}, n= 0, sName; for(var i= 0,len=str.length;i<len;i++){ var Letter=str.charAt(i); //统计次数 if(json[Letter]){ json[Letter]++; }else{ json[Letter]=1; } } //找最大 for(var name in json){ if(json[name]>n){ n=json[name]; sName=name; } } console.log('出现最多的字母'+sName+'次数为'+n);
4. 简单的url参数解析
function getData() { var search = window.location.search.substring(1); if (!search) { return; } var arr = search.split('&'), arr2 = [], json = {}, key, alue; for (var i = 0; i < arr.length; i++) { arr2 = arr[i].split('='); key = arr2[0]; value = arr2[1]; json[key] = value; } return json; }
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持PHP中文网!
更多js数组与字符串常用方法总结相关文章请关注PHP中文网!

보다 효율적인 코드를 작성하고 성능 병목 현상 및 최적화 전략을 이해하는 데 도움이되기 때문에 JavaScript 엔진이 내부적으로 작동하는 방식을 이해하는 것은 개발자에게 중요합니다. 1) 엔진의 워크 플로에는 구문 분석, 컴파일 및 실행; 2) 실행 프로세스 중에 엔진은 인라인 캐시 및 숨겨진 클래스와 같은 동적 최적화를 수행합니다. 3) 모범 사례에는 글로벌 변수를 피하고 루프 최적화, Const 및 Lets 사용 및 과도한 폐쇄 사용을 피하는 것이 포함됩니다.

Python은 부드러운 학습 곡선과 간결한 구문으로 초보자에게 더 적합합니다. JavaScript는 가파른 학습 곡선과 유연한 구문으로 프론트 엔드 개발에 적합합니다. 1. Python Syntax는 직관적이며 데이터 과학 및 백엔드 개발에 적합합니다. 2. JavaScript는 유연하며 프론트 엔드 및 서버 측 프로그래밍에서 널리 사용됩니다.

Python과 JavaScript는 커뮤니티, 라이브러리 및 리소스 측면에서 고유 한 장점과 단점이 있습니다. 1) Python 커뮤니티는 친절하고 초보자에게 적합하지만 프론트 엔드 개발 리소스는 JavaScript만큼 풍부하지 않습니다. 2) Python은 데이터 과학 및 기계 학습 라이브러리에서 강력하며 JavaScript는 프론트 엔드 개발 라이브러리 및 프레임 워크에서 더 좋습니다. 3) 둘 다 풍부한 학습 리소스를 가지고 있지만 Python은 공식 문서로 시작하는 데 적합하지만 JavaScript는 MDNWebDocs에서 더 좋습니다. 선택은 프로젝트 요구와 개인적인 이익을 기반으로해야합니다.

C/C에서 JavaScript로 전환하려면 동적 타이핑, 쓰레기 수집 및 비동기 프로그래밍으로 적응해야합니다. 1) C/C는 수동 메모리 관리가 필요한 정적으로 입력 한 언어이며 JavaScript는 동적으로 입력하고 쓰레기 수집이 자동으로 처리됩니다. 2) C/C를 기계 코드로 컴파일 해야하는 반면 JavaScript는 해석 된 언어입니다. 3) JavaScript는 폐쇄, 프로토 타입 체인 및 약속과 같은 개념을 소개하여 유연성과 비동기 프로그래밍 기능을 향상시킵니다.

각각의 엔진의 구현 원리 및 최적화 전략이 다르기 때문에 JavaScript 엔진은 JavaScript 코드를 구문 분석하고 실행할 때 다른 영향을 미칩니다. 1. 어휘 분석 : 소스 코드를 어휘 단위로 변환합니다. 2. 문법 분석 : 추상 구문 트리를 생성합니다. 3. 최적화 및 컴파일 : JIT 컴파일러를 통해 기계 코드를 생성합니다. 4. 실행 : 기계 코드를 실행하십시오. V8 엔진은 즉각적인 컴파일 및 숨겨진 클래스를 통해 최적화하여 Spidermonkey는 유형 추론 시스템을 사용하여 동일한 코드에서 성능이 다른 성능을 제공합니다.

실제 세계에서 JavaScript의 응용 프로그램에는 서버 측 프로그래밍, 모바일 애플리케이션 개발 및 사물 인터넷 제어가 포함됩니다. 1. 서버 측 프로그래밍은 Node.js를 통해 실현되며 동시 요청 처리에 적합합니다. 2. 모바일 애플리케이션 개발은 재교육을 통해 수행되며 크로스 플랫폼 배포를 지원합니다. 3. Johnny-Five 라이브러리를 통한 IoT 장치 제어에 사용되며 하드웨어 상호 작용에 적합합니다.

일상적인 기술 도구를 사용하여 기능적 다중 테넌트 SaaS 응용 프로그램 (Edtech 앱)을 구축했으며 동일한 작업을 수행 할 수 있습니다. 먼저, 다중 테넌트 SaaS 응용 프로그램은 무엇입니까? 멀티 테넌트 SAAS 응용 프로그램은 노래에서 여러 고객에게 서비스를 제공 할 수 있습니다.

이 기사에서는 Contrim에 의해 확보 된 백엔드와의 프론트 엔드 통합을 보여 주며 Next.js를 사용하여 기능적인 Edtech SaaS 응용 프로그램을 구축합니다. Frontend는 UI 가시성을 제어하기 위해 사용자 권한을 가져오고 API가 역할 기반을 준수하도록합니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

드림위버 CS6
시각적 웹 개발 도구

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기
