Webフロントエンド09:よくある配列練習問題
43832 ワード
はいれつデポジット
配列内の要素の位置を特定
配列内の要素の和の1つ目を計算します.
2つ目:
配列arrのすべての値がitemに等しい要素を除去します.配列arrを直接変更しないで、結果は新しい配列を返します.
配列arrのすべての値がitemに等しい要素を除去し、与えられたarr配列上で直接操作し、結果を返します.
配列arrの末尾に要素itemを追加します.配列arrを直接変更しないで、結果は新しい配列を返します.
配列arrの最後の要素を削除します.配列arrを直接変更しないで、結果は新しい配列を返します.
配列arrの先頭に要素itemを追加します.配列arrを直接変更しないで、結果は新しい配列の1つ目を返します.
2つ目:
配列arrの最初の要素を削除します.配列arrを直接変更しないで、結果は新しい配列を返します.
配列arr 1と配列arr 2をマージします.配列arrを直接変更しないで、結果は新しい配列を返します.
配列arrのindexに要素itemを追加します.配列arrを直接変更しないで、結果は新しい配列を返します.
統計配列arrの値がitemに等しい要素が現れる回数の1つ目:
2つ目:
配列arrで繰り返される要素の1つ目を見つけます.
2つ目:
配列arrの各要素の二次方程式を求める
配列arrでは、itemに等しい値の要素が現れるすべての場所を検索します.
//
function quchong(arr){
for(i=0;i<arr.length;i++){
for(j=1+i;j<arr.length;j++){
if(arr[i]==arr[j]){
arr.splice(j,1)
j--;
arr.length--;
}
}
}
return arr;
}
var arr1 = [1,2,3,4,2,1,1,1]
document.write(quchong(arr1))
document.write("
")
// :[1,2,3,4]
配列内の要素の位置を特定
function indexOf(arr, item) {
if(Array.prototype.indexOf){ // indexOf
return arr.indexOf(item);
}else{
for(var i=0; i<arr.length; i++){
return i;
}
}
return -1;
}
console.log("3 [1,2,3,4] :"+ indexOf([1,2,3,4],3));
//3 [1,2,3,4] :2
配列内の要素の和の1つ目を計算します.
function sum(arr){
return eval(arr.join("+"));
}
console.log(" :"+ sum([1,2,3])); // :6
2つ目:
var sum =0;
function he(arr2){
for(i=0;i<arr2.length;i++){
sum=sum+arr2[i]
}
return sum
}
var arr=[1,2,3,4]
document.write(he(arr))
document.write("
")
配列arrのすべての値がitemに等しい要素を除去します.配列arrを直接変更しないで、結果は新しい配列を返します.
function remove(arr, item) {
var a=[];
for(var i=0; i<arr.length; i++){
if(arr[i]!=item){
a.push(arr[i]);
}
}
return a;
}
console.log(remove([1,2,3,4,2,3],2));
//[ 1, 3, 4, 3 ]
配列arrのすべての値がitemに等しい要素を除去し、与えられたarr配列上で直接操作し、結果を返します.
function removeWithoutCopy(arr,item){
for(var i=0; i<arr.length;i++){
if(arr[i]==item){
arr.splice(i,1);// 1 item 1
i--;//splice(i,1) , i ,
}
}
return arr;
}
console.log(removeWithoutCopy([1,2,3,4,2,3],2));
//[ 1, 3, 4, 3 ]
配列arrの末尾に要素itemを追加します.配列arrを直接変更しないで、結果は新しい配列を返します.
function append(arr,item){
var a = arr.slice(0);//splice() :arrayObj.slice(start,end);
a.push(item);
return a;
}
console.log(append([1, 2, 3, 4], 10));
//[ 1, 2, 3, 4, 10 ]
配列arrの最後の要素を削除します.配列arrを直接変更しないで、結果は新しい配列を返します.
function truncate(arr){
return arr.slice(0,arr.length-1);
}
console.log(truncate([1,2,3,4]));
//[ 1, 2, 3 ]
配列arrの先頭に要素itemを追加します.配列arrを直接変更しないで、結果は新しい配列の1つ目を返します.
function prepend(arr,item){
var a = arr.slice(0); //unshift() , 。arrayObject.unshift(newelement1,newelement2,....,newelementX)
a.unshift(item);
return a ;
}
console.log(prepend([1,2,3,4],10));
//[ 10, 1, 2, 3, 4 ]
2つ目:
function prepend(arr,item){
return [item].concat(arr);
}
console.log(prepend([1,2,3,4],10));
//[ 10, 1, 2, 3, 4 ]
配列arrの最初の要素を削除します.配列arrを直接変更しないで、結果は新しい配列を返します.
function curtail(arr){
return arr.slice(1);
}
console.log(curtail([1,2,3,4]));
//[2,3,4]
配列arr 1と配列arr 2をマージします.配列arrを直接変更しないで、結果は新しい配列を返します.
function concat(arr1,arr2){
return arr1.concat(arr2);
}
console.log(concat([1, 2, 3, 4], ['a', 'b', 'c', 1]));
//[ 1, 2, 3, 4, 'a', 'b', 'c', 1 ]
配列arrのindexに要素itemを追加します.配列arrを直接変更しないで、結果は新しい配列を返します.
function insert(arr,item,index){
return arr.slice(0,index).concat(item,arr.slice(index));
}
console.log(insert([1,2,3,4],'z',2));
//[ 1, 2, 'z', 3, 4 ]
統計配列arrの値がitemに等しい要素が現れる回数の1つ目:
function count(arr,item){
var cnt=0;
for(var i=0; i<arr.length; i++){
arr[i] == item ? cnt++ : 0;
}
return cnt;
}
console.log(count([1, 2, 4, 4, 3, 4, 3], 4));
//3
2つ目:
function count(arr, item) {
var cnt=0;
for (var i = 0;i<arr.length;i++){
if (arr[i]===item){
cnt++;
}
}
return cnt;
}
配列arrで繰り返される要素の1つ目を見つけます.
// , , 。
function duplicates(arr) {
var newArr=[];
arr.sort();
for(var i =0;i<arr.length;i++){
if(arr[i]==arr[i+1]&&(newArr.indexOf(arr[i])==-1) ){
newArr.push(arr[i]);
i++;
}
}
return newArr;
}
2つ目:
function duplicates(arr) {
// ,a ,b arr
var a = [],b = [];
// arr, arr b , b 1, 1
for(var i = 0; i < arr.length; i++){
if(!b[arr[i]]){
b[arr[i]] = 1;
continue;
}
b[arr[i]]++;
}
// b , 1 a
for(var i = 0; i < b.length; i++){
if(b[i] > 1){
a.push(i);
}
}
return a;
}
console.log(duplicates([1, 2, 4, 4, 3, 3, 1, 5, 3]));
配列arrの各要素の二次方程式を求める
// arr
function square(arr) {
var arr2 = []
for(var i=0; i<arr.length; i++) {
arr2[i] = arr[i]*arr[i]
}
return arr2
}
配列arrでは、itemに等しい値の要素が現れるすべての場所を検索します.
function findAllOccurrences(arr, target) {
var arr1=[];
var j=0;
for(var i=0;i<arr.length;i++){
if(arr[i]===target){
arr1.push(arr.indexOf(arr[i],j));
j++;
}
}
return arr1;
}