Ich arbeite derzeit an einer klassischen Frage zur JS-Fähigkeitsbewertung, daher habe ich sie entsprechend meinen eigenen Fähigkeiten und Ideen zusammengefasst. Dieser Artikel ist hauptsächlich eine Zusammenfassung der Array-Klasse.
1. Finden Sie die Position des Elementelements im angegebenen Array: arr.indexOf(item);
2. Berechnen Sie die Summe aller Elemente im angegebenen Array arr: arr .forEach(function(e){sum=sum+e;})
Hinweis: Array-Name.forEach(function(array-Element, Element-Index, zusätzlich definiertes Array){Funktionskörper}) //Was zurückgegeben wird, ist immer noch das aufgerufene Array
array name.map(function(array element){function body}) //Was zurückgegeben wird, ist ein neues Array, das das aufgerufene Array nicht verändert;
3. Entfernen Sie die Elemente im Array arr, deren Eigentümer gleich item ist. Das Ergebnis ist ein neues Array.
function remove(arr, item) { var newArray=[]; arr.forEach(function(e){ if(e!=item){ newArray.push(e); } }) return newArray; }
4. Entfernen Sie alle Elemente im Array arr, die gleich item sind, ändern Sie das angegebene Array direkt und geben Sie das Ergebnis zurück.
//方法一:从前往后遍历删除元素 function removeWithoutCopy(arr,item){ for(i=0;i<arr.length;i++){ if(item==arr[i]){ arr.splice(i,1); //splice(定位元素索引[,删除元素个数,添加元素]) i--;//i--的目的是因为删除了一个元素,在回到for时需要i++,会跳过一个元素 } } } //方法二:从后往前遍历删除元素 function removeWithoutCopy(arr,item){ for(i=arr.length-1;i>=0;i--){ if(item==arr[i]){ arr.splice(i,1); //删除时无需进行位移 } } }
Hinweis: Array-Name.splice (Index [, Nummer, Elemente hinzufügen]), Spleiß bedeutet, dass das ursprüngliche Array direkt geändert wird, und der Rückgabewert ist ein Array, das aus gelöschten Elementen besteht. Beispiel: var a=[1,2,3,4,5];a.splice(3,1)//Return [4], a ist [1,2,3,5]
5 Fügen Sie das Elementelement am Ende des Arrays arr hinzu, ändern Sie arr nicht direkt und geben Sie ein neues Array zurück.
//方法一:直接使用数组的concat追加新的item,并返回新的数组 function append(arr, item) { return arr.concat(item); } //方法二:利用slice对原数组进行切分,产生新的数组,在对新数组进行push即可 function append(arr, item) { var newArray=arr.slice(0); newArray.push(item); return newArray; } //方法三:利用数组的map创建新的数组,最后对新数组push(item)即可 function append(arr, item) { var newArray=arr.map(function(e){ return e; }) newArray.push(item); return newArray; } //方法四:定义一个空数组,利用for/forEach进行赋值,再对新数组push(item)即可 function append(arr, item) { var newArray=[]; arr.forEach(function(e){ newArray.push(e); }) newArray.push(item); return newArray; }
6. Löschen Sie das letzte Element des Arrays arr. Das Ergebnis ist ein neues Array: return arr.slice(0,arr.length-1);
7. Elementelement am Anfang des Array-Arrays hinzufügen. Ändern Sie das Array arr nicht direkt. Das Ergebnis ist ein neues Array: var newArray=arr.slice(0);newArray.unshift(item)
8 Löschen Sie das erste Element des Arrays arr. Ändern Sie das Array arr nicht direkt. Das Ergebnis ist ein neues Array: return arr.slice(1);
9. Ändern Sie das Array arr nicht direkt. Das Ergebnis ist ein neues Array: return arr1.concat(arr2);
10. Fügen Sie das Elementelement am Index des Arrays arr hinzu. Ändern Sie das Array arr nicht direkt. Das Ergebnis ist ein neues Array: var newArray = arr.slice(0); newArray.splice(index,0,item); return newArray;
11 des statistischen Arrays arr ist gleich der Anzahl der Vorkommen der Elemente des Elements.
function count(arr, item) { var count=0; arr.forEach(function(e){ if(e==item) count+=1; }); return count; }
12. Finden Sie die wiederholten Elemente im Array arr. Eingabe: [1, 2, 4, 4, 3, 3, 1, 5, 3]. Ausgabe: [1, 3, 4].
//方法一:利用indexOf和lastIndexOf进行判断 function duplicates(arr) { var result=[]; arr.forEach(function(e){ if(arr.indexOf(e)!=arr.lastIndexOf(e) && result.indexOf(e)==-1){ result.push(e); } }); return result; } //方法二:利用双重for循环进行判断 function duplicates(arr) { var result=[]; for(i=0;i<arr.length-1;i++){ for(k=0;k<result.length;k++){ if(arr[i]==result[k]) break; } if(k!=result.length) continue; for(j=i+1;j<arr.length;j++){ if(arr[i]==arr[j]){ result.push(arr[i]); break; } } } return result; }
13. Finden Sie die zweite Potenz jedes Elements im Array arr. Ändern Sie das Array arr nicht direkt, das Ergebnis ist ein neues Array.
//方法一:定义空数组,对arr进行遍历赋值 function square(arr) { var newArr=[]; arr.forEach(function(e){ newArr.push(e*e); }); return newArr; } //方法二:直接使用map产生新的数组 function square(arr) { return arr.map(function(e){ return e*e; }) }
14. Finden Sie im Array arr alle Positionen, an denen das Element vorkommt, dessen Wert gleich item ist
function findAllOccurrences(arr, target) { var newArray=[]; arr.forEach(function(e,i){ if(e==target) newArray.push(i); }) return newArray; }
In den klassischen JS-Fragen ist das Obige der Fragetyp aller Arrays, und dann ist es eine Codierungsspezifikation und ein Funktionsmodul.
Verwandte Empfehlungen:
BootStrap klassische Fallanalyse
Klassische Einführung in PHP-String-Operationen
Video-Tutorial: 27 klassische praktische Übungen für die Front-End-JS-Entwicklung
Das obige ist der detaillierte Inhalt vonSo analysieren Sie die Verwendung von Array-Typen in klassischen Fragen zur JS-Fähigkeitsbewertung mit Code. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!