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;
}