ES5 배열 확장
Array.isArray(obj) 수조 여부, 판단!
이것은 Array 대상의 정적 함수로 하나의 대상이 수조인지 아닌지를 판단한다.var a = []
undefined
var b = new Date()
undefined
console.log(Array.isArray(a))
true
undefined
console.log(Array.isArray(b))
false
undefined
.indexOf(element) / .lastIndex Of (element) 값을 찾습니다. 그룹에 나무가 있습니다.
indexOf는 처음부터 끝까지 검색하고 lastIndexOf는 반대로 검색합니다.첫 번째를 찾은 후 색인을 되돌려줍니다. 1 을 찾지 못했습니다.var arr =[3,4,'hello','haha']
undefined
arr.indexOf('haha')
3
arr.indexOf('ha')
-1
arr.lastIndexOf('haha')
3
arr.splice(1,0,8,8,8,)
[]
arr
(7) [3, 8, 8, 8, 4, "hello", "haha"]
arr.indexOf(8)
1
arr.lastIndexOf(8)
3
만약 이 함수 명령이 없다면, 단독으로 스스로 쓰겠는가?function hasWord(arr,item){
for(var i =0;i
그룹의 반복.forEach(element,index,array)
역행은 모든 원소의 확장성을 더욱 강하게 하고 조작성을 더욱 편리하게 하기 위해 함수 각도에서 문제를 보는 것과 같다.배열을 반복합니다. 매개변수는 콜백 함수이고 콜백 함수에는 세 가지 매개변수가 있습니다.
var a = []
undefined
var b = new Date()
undefined
console.log(Array.isArray(a))
true
undefined
console.log(Array.isArray(b))
false
undefined
indexOf는 처음부터 끝까지 검색하고 lastIndexOf는 반대로 검색합니다.첫 번째를 찾은 후 색인을 되돌려줍니다. 1 을 찾지 못했습니다.
var arr =[3,4,'hello','haha']
undefined
arr.indexOf('haha')
3
arr.indexOf('ha')
-1
arr.lastIndexOf('haha')
3
arr.splice(1,0,8,8,8,)
[]
arr
(7) [3, 8, 8, 8, 4, "hello", "haha"]
arr.indexOf(8)
1
arr.lastIndexOf(8)
3
만약 이 함수 명령이 없다면, 단독으로 스스로 쓰겠는가?
function hasWord(arr,item){
for(var i =0;i
그룹의 반복.forEach(element,index,array)
역행은 모든 원소의 확장성을 더욱 강하게 하고 조작성을 더욱 편리하게 하기 위해 함수 각도에서 문제를 보는 것과 같다.배열을 반복합니다. 매개변수는 콜백 함수이고 콜백 함수에는 세 가지 매개변수가 있습니다.
arr.forEach(function(){
console.log(arguments)
})
forEach의 세 가지 매개 변수의 순서를 알 수 있습니다: 원소, 위치, 그룹.
var arr =[3,4,'hello','haha']
arr.forEach(function(){
console.log(arguments)
})
(3) [3, 0, Array(4), callee: function, Symbol(Symbol.iterator): function]
(3) [4, 1, Array(4), callee: function, Symbol(Symbol.iterator): function]
(3) ["hello", 2, Array(4), callee: function, Symbol(Symbol.iterator): function]
(3) ["haha", 3, Array(4), callee: function, Symbol(Symbol.iterator): function]
arr.forEach(function(value,index){
console.log(value + '' + value )
})
33
44
hellohello
hahahaha
for ?
for(var i=0;i
.every(function(element,index,array))/.me(function(element, index,array)) 수조의 원소가 어떤 조건을 충족시키는지 진짜와 가짜를 되돌려줍니다
var arr =[3,4,-1,0,5] // ?
arr.every(function(element,i){
if(arr[i]>0)
return true
})
false
:
arr.every(function(val){
return val>0?true:false
})
false
?
arr.some(function(val){
return val>0?true:false
})
true
.map (function (element) 은 그룹을 반복하고, 리셋 함수 반환 값은 새로운 그룹을 구성합니다.
새 수조는 원수조 인덱스 구조와 마찬가지로 원수조는 변하지 않는다.var arr =[1,2,3,4,5,6] //
var a = arr.map(function(val){
return val*val
})
a
(6) [1, 4, 9, 16, 25, 36]
.filter(function(element) 배열의 필터
그룹의 하위 집합을 되돌려줍니다. 리셋 함수는 되돌려줄지 여부를 판단합니다.true로 돌아가는 요소는 되돌려주는 그룹에 추가됩니다. 색인이 부족한 것은 새 그룹에 포함되지 않습니다. --------원수 그룹은 변하지 않습니다.var arr=[3,5,6,-1,-2,-3]
var a =arr.filter(function(val){
return val>0
})
a
(3) [3, 5, 6]
arr
(6) [3, 5, 6, -1, -2, -3] //
var students=[{
name:'a',
age:10
},
{
name:'b',
age:20
},
{
name:'ce',
age:8
},
{
name:'dd',
age:5
}
] // 18 ?
var stu18 =students.filter(function(val){
return val.age>18
})
stu18
[{name:'b', age:20}] (length=1)//length 。
c :
var namehasc =students.filter(function(val){
return val.name.indexOf('c')>-1
})
namehasc
[{name:'ce',age:8}] // indexOf , 。
reduce(function(v1,v2),value)/reduceRight(function(v1,v2),value) 원소가 작용하면 새로운 원소를 얻고, 새로운 원소는 다음 원수조의 원소와 계속 작용한다. var arr =[3,4,5] //
arr.reduce(function(v1,v2){
return v1+v2
})
12
처음, 두루두루, v1=3, v2=4, 7 얻기;다시 훑어보면 v1=7, v2=5, 12.여기에 초기값 매개 변수value가 있습니다.arr.reduce(function(v1,v2){
return v1+v2
},100)
112 // v1=100,v2=3, ,,,
어떻게 손으로 써서 Reduce의 기능을 실현합니까?var arr=[3,4,5,6]
function reduce(arr,fn,initval){
}
var result=reduce(arr,function(){
v1+v2
},10)
:
function reduce(arr,fn){
var arr2=arr
while(arr2.length>1){
console.log(arr2)
arr2.splice(0,2,fn(arr2[0],arr2[1]))
}
return arr2[0]
}
var arr=[3,4,5,6]
var result=reduce(arr,function(v1,v2){
return v1+v2
})
(4) [3, 4, 5, 6]
(3) [7, 5, 6]
(2) [12, 6]
console.log(result)
18 // , 。 arr2=arr.concat([]), 。
? arr2=[initvalue,3,4,5,6]——
function reduce(arr,fn,initValue){
var arr2=arr.concat([])
if(initValue !== undefined){
arr2.unshift(initValue)
} // : if(initValue), 0 null, false。
while(arr2.length>1){
console.log(arr2)
arr2.splice(0,2,fn(arr2[0],arr2[1]))
}
return arr2[0]
}
var arr=[3,4,5,6]
var result=reduce(arr,function(v1,v2){
return v1+v2
},10)
console.log(result)
하나의 그룹을 평평하게 찍다 var arr=[3,['4,5',7,[1]],[2,10]]
function flat(){
}
var arr2 = flat(arr)
console.log(arr2) //[3,'4,5',7,1,2,10] , 。 ?
:
function flat(arr){
var arr2=[]
arr.forEach(function(val){
if(Array.isArray(val)){
arr2 = arr2.concat(flat(val))
}else{
arr2.push(val)
}
})
return arr2
}
var arr2=flat(arr)
arr2
(6) [3, "4,5", 7, 1, 2, 10]
:flat value 。
function flatten(arr){
var newArr=[]
function flat(arr){
arr.forEach(val>={
if(Array.isArray(val)){
flat(val)
}else{
newArr.push(val)
}
})
}
flat(arr)
return newArr
}
:
function flatten2(arr){
return arr.reduce(function(initArr,curentArr){
return initArr.concat(Array.isArray(currentArr)flatten2(currentArr):currentArr)
},[])
}
// , 。
어쨌든 기본적인 사고방식은 틀림없이 귀속으로 끼워 넣은 것을 평평하게 찍은 다음에 평평하게 찍은 후에 어떻게 결합하는지는 각자 능력에 달려 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSON
JSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다.
그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다.
저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
var arr =[1,2,3,4,5,6] //
var a = arr.map(function(val){
return val*val
})
a
(6) [1, 4, 9, 16, 25, 36]
그룹의 하위 집합을 되돌려줍니다. 리셋 함수는 되돌려줄지 여부를 판단합니다.true로 돌아가는 요소는 되돌려주는 그룹에 추가됩니다. 색인이 부족한 것은 새 그룹에 포함되지 않습니다. --------원수 그룹은 변하지 않습니다.
var arr=[3,5,6,-1,-2,-3]
var a =arr.filter(function(val){
return val>0
})
a
(3) [3, 5, 6]
arr
(6) [3, 5, 6, -1, -2, -3] //
var students=[{
name:'a',
age:10
},
{
name:'b',
age:20
},
{
name:'ce',
age:8
},
{
name:'dd',
age:5
}
] // 18 ?
var stu18 =students.filter(function(val){
return val.age>18
})
stu18
[{name:'b', age:20}] (length=1)//length 。
c :
var namehasc =students.filter(function(val){
return val.name.indexOf('c')>-1
})
namehasc
[{name:'ce',age:8}] // indexOf , 。
reduce(function(v1,v2),value)/reduceRight(function(v1,v2),value) 원소가 작용하면 새로운 원소를 얻고, 새로운 원소는 다음 원수조의 원소와 계속 작용한다. var arr =[3,4,5] //
arr.reduce(function(v1,v2){
return v1+v2
})
12
처음, 두루두루, v1=3, v2=4, 7 얻기;다시 훑어보면 v1=7, v2=5, 12.여기에 초기값 매개 변수value가 있습니다.arr.reduce(function(v1,v2){
return v1+v2
},100)
112 // v1=100,v2=3, ,,,
어떻게 손으로 써서 Reduce의 기능을 실현합니까?var arr=[3,4,5,6]
function reduce(arr,fn,initval){
}
var result=reduce(arr,function(){
v1+v2
},10)
:
function reduce(arr,fn){
var arr2=arr
while(arr2.length>1){
console.log(arr2)
arr2.splice(0,2,fn(arr2[0],arr2[1]))
}
return arr2[0]
}
var arr=[3,4,5,6]
var result=reduce(arr,function(v1,v2){
return v1+v2
})
(4) [3, 4, 5, 6]
(3) [7, 5, 6]
(2) [12, 6]
console.log(result)
18 // , 。 arr2=arr.concat([]), 。
? arr2=[initvalue,3,4,5,6]——
function reduce(arr,fn,initValue){
var arr2=arr.concat([])
if(initValue !== undefined){
arr2.unshift(initValue)
} // : if(initValue), 0 null, false。
while(arr2.length>1){
console.log(arr2)
arr2.splice(0,2,fn(arr2[0],arr2[1]))
}
return arr2[0]
}
var arr=[3,4,5,6]
var result=reduce(arr,function(v1,v2){
return v1+v2
},10)
console.log(result)
하나의 그룹을 평평하게 찍다 var arr=[3,['4,5',7,[1]],[2,10]]
function flat(){
}
var arr2 = flat(arr)
console.log(arr2) //[3,'4,5',7,1,2,10] , 。 ?
:
function flat(arr){
var arr2=[]
arr.forEach(function(val){
if(Array.isArray(val)){
arr2 = arr2.concat(flat(val))
}else{
arr2.push(val)
}
})
return arr2
}
var arr2=flat(arr)
arr2
(6) [3, "4,5", 7, 1, 2, 10]
:flat value 。
function flatten(arr){
var newArr=[]
function flat(arr){
arr.forEach(val>={
if(Array.isArray(val)){
flat(val)
}else{
newArr.push(val)
}
})
}
flat(arr)
return newArr
}
:
function flatten2(arr){
return arr.reduce(function(initArr,curentArr){
return initArr.concat(Array.isArray(currentArr)flatten2(currentArr):currentArr)
},[])
}
// , 。
어쨌든 기본적인 사고방식은 틀림없이 귀속으로 끼워 넣은 것을 평평하게 찍은 다음에 평평하게 찍은 후에 어떻게 결합하는지는 각자 능력에 달려 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSON
JSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다.
그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다.
저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
var arr =[3,4,5] //
arr.reduce(function(v1,v2){
return v1+v2
})
12
arr.reduce(function(v1,v2){
return v1+v2
},100)
112 // v1=100,v2=3, ,,,
var arr=[3,4,5,6]
function reduce(arr,fn,initval){
}
var result=reduce(arr,function(){
v1+v2
},10)
:
function reduce(arr,fn){
var arr2=arr
while(arr2.length>1){
console.log(arr2)
arr2.splice(0,2,fn(arr2[0],arr2[1]))
}
return arr2[0]
}
var arr=[3,4,5,6]
var result=reduce(arr,function(v1,v2){
return v1+v2
})
(4) [3, 4, 5, 6]
(3) [7, 5, 6]
(2) [12, 6]
console.log(result)
18 // , 。 arr2=arr.concat([]), 。
? arr2=[initvalue,3,4,5,6]——
function reduce(arr,fn,initValue){
var arr2=arr.concat([])
if(initValue !== undefined){
arr2.unshift(initValue)
} // : if(initValue), 0 null, false。
while(arr2.length>1){
console.log(arr2)
arr2.splice(0,2,fn(arr2[0],arr2[1]))
}
return arr2[0]
}
var arr=[3,4,5,6]
var result=reduce(arr,function(v1,v2){
return v1+v2
},10)
console.log(result)
var arr=[3,['4,5',7,[1]],[2,10]]
function flat(){
}
var arr2 = flat(arr)
console.log(arr2) //[3,'4,5',7,1,2,10] , 。 ?
:
function flat(arr){
var arr2=[]
arr.forEach(function(val){
if(Array.isArray(val)){
arr2 = arr2.concat(flat(val))
}else{
arr2.push(val)
}
})
return arr2
}
var arr2=flat(arr)
arr2
(6) [3, "4,5", 7, 1, 2, 10]
:flat value 。
function flatten(arr){
var newArr=[]
function flat(arr){
arr.forEach(val>={
if(Array.isArray(val)){
flat(val)
}else{
newArr.push(val)
}
})
}
flat(arr)
return newArr
}
:
function flatten2(arr){
return arr.reduce(function(initArr,curentArr){
return initArr.concat(Array.isArray(currentArr)flatten2(currentArr):currentArr)
},[])
}
// , 。
어쨌든 기본적인 사고방식은 틀림없이 귀속으로 끼워 넣은 것을 평평하게 찍은 다음에 평평하게 찍은 후에 어떻게 결합하는지는 각자 능력에 달려 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.