1. 程式人生 > >JavaScript練習(14道)

JavaScript練習(14道)

紙上得來終覺淺,絕知此事要躬行。

javaScript 陣列練習

var arr=[1,2,3,4,5];

1.找出元素 item 在給定陣列 arr 中的位置

function fun1(arr,item) {
var i=arr.length;
while (i–) {
if (arr[i] === item) {
return i;
}
}
return -1;
}

2.計算給定陣列 arr 中所有元素的總和

function fun2(arr) {
var sum=0;
arr.forEach((i)=>
{
sum+=i;
});
return sum;
}

3.移除陣列 arr 中的所有值與 item 相等的元素。不要直接修改陣列 arr,結果返回新的陣列

function fun3(arr,item) {
var i=arr.length;
var newArr=[];
while (i–) {
if (!(arr[i] === item)) {
newArr.push(arr[i]);
}
}
return newArr;
}

4.移除陣列 arr 中的所有值與 item 相等的元素,直接在給定的 arr 陣列上進行操作,返回原有陣列

function fun4(arr,item) {
for(var i=0; i<arr.length;i++){
if(arr[i]==item){
arr.splice(i,1);
}
}
return arr;
}

5.在陣列 arr 末尾新增元素 item,返回陣列

function fun5(arr,item) {
arr.push(item);
return arr;
}

6.刪除陣列 arr 最後一個元素,返回陣列

function fun6(arr) {
arr.pop();
return arr;
}

7.在陣列 arr 開頭新增元素 item,返回陣列

function fun7(arr,item) {
arr.unshift(item);
return arr;
}

8.刪除陣列 arr 第一個元素,返回陣列

function fun8() {
arr.splice(0,1);
return arr;
}

9.合併陣列 arr1 和陣列 arr2,返回合併後的陣列

function fun9(arr,arr1) {
var newArr=[];
newArr = arr.concat(arr1);
return newArr;
}

10.在陣列 arr 的 index 處新增元素 item,返回陣列

function fun10(arr,index,item) {
if(index==0){
index=1;
}
arr.splice(index-1,0,item);
return arr;
}

11.統計陣列 arr 中值等於 item 的元素出現的次數,返回次數

function fun11(arr,item) {
var len=arr.length;
var c=0;
while (len–){
if(arr[len] ===item ){
c++;
}
}
return c;
}

12.找出陣列 arr 中重複出現過的元素,返回重複元素的陣列

function fun12(arr) {
newArr=[];
for (var i=0;i<arr.length;i++){
let flag=false;
for (var j=0;j<newArr.length;j++){
if(arr[i] == newArr[j]){
flag=true;
break;
}
}
if(!flag){
newArr.push(arr[i]);
}
}
return newArr;
}

13.陣列 arr 中的每個元素求二次方,返回陣列

function fun13() {
var newArr=[];
arr.forEach(i=>{
var j=i*i;
newArr.push(j);
})
return newArr;
}

14.在陣列 arr 中,查詢值與 target 相等的元素出現的所有位置,返回一個下標陣列

function fun14(arr,target) {
var i=arr.length;
var newArr=[];
while (i–) {
if (arr[i] === target) {
newArr.push(i);
}
}
return newArr;
}