標籤(空格分隔): 未分類
push
/**
1: 封裝乙個函式,這個函式的名字叫做 push
2: 這個函式的引數,第乙個是乙個陣列,第二個以後是任意的資料
3: 呼叫這個函式,那麼會把第二個以後的所有引數,依次放到第乙個引數也就是那個陣列的最後乙個位置。
4: 這個函式返回值,是放入這些資料之後陣列的長度。
*/var arr = ['a','b','c'];
function push(arr)
push(arr,1,2,3)
console.log(arr); // (6) ["a", "b", "c", 1, 2, 3]
封裝 unshift(向第乙個新增)/**
* 1 封裝乙個函式,這個函式的名字叫做 unshift
* 2 這個函式的引數,第乙個是乙個陣列,第二個以後是任意的資料 * 3 呼叫這個函式,那麼會把第二個以後的所有引數,依次放到第乙個引數也就是那個陣列的開頭的位置。
* 4 這個函式返回值,是放入這些資料之後陣列的長度。
*/ function unshift(arr)
arr[0] = arg[j];
}return arr.length;
}// -------------------------------
var arr = [1, 2, 3];
console.log(unshift(arr, 'a', 'b', 'c', 'd'));
console.log(arr);
// ===> [1, 1, 2, 3];
// for(var i=arr.length; i>0; i--)
// arr[3] = arr[2] ==> [1, 2, 3, 3];
// arr[2] = arr[1] ==> [1, 2, 2, 3];
// arr[1] = arr[0] ==> [1, 1, 2, 3];
// arr[0] = 4; // ===> [4, 1, 2, 3]
// // console.log(arr);
pop(刪除最後乙個)1 封裝乙個函式,名字叫做pop
2pop函式的引數是唯一的陣列
3 呼叫pop函式,刪除陣列中最後乙個資料
4 如果這個陣列是空,那麼呼叫這個函式,返回值是 undefined
5 如果不是空陣列返回值為被刪除的資料
// var arr = [1, 2, 3];
function pop(arr)
// console.log(pop(arr)); //
3 // console.log(arr); // [1, 2]
shift (刪除第乙個)
1 封裝乙個函式,名字叫做 shift
2 shift函式的引數是唯一的陣列
3 呼叫shift函式,刪除陣列中第乙個資料
4 如果這個陣列是空,那麼呼叫這個函式,返回值是 undefined
5 如果不是空陣列返回值為被刪除的資料
···
function shift(arr)
arr.length--;
return first;
}var arr = ['a', 'b', 'c'];
console.log(shift(arr)); //
'a'console.log(arr); // ['b', 'c']
indexof
1 封裝乙個函式叫 indexof
2 indexof 函式的第乙個引數為要查詢的陣列,第二個引數為要查詢的資料
3 呼叫這個函式,如果要查詢的資料未找到,那麼函式的返回值為-1,如果找到那麼返回這個資料的位置
function
indexof
(arr, item)
} return -1;
}var arr = [1, 2, 'a', 4];
console.log(indexof(arr, 'a')); // 2
console.log(indexof(arr, 10)); // -1
spliceone
1 封裝乙個函式叫做 spliceone
2 該函式的第乙個引數是陣列,第二個引數是索引
3 呼叫這個函式,可以刪除這個索引對應的資料
4 如果是空陣列,那麼返回undefined,否則返回這個被刪除的資料
function
spliceone
(arr, index)
var arr = [1, 2, 3, 4];
console.log(spliceone(arr, 2)); // 3
console.log(arr); // [1, 2, 4];
join(將陣列轉換成字串)
1 封裝乙個函式叫做 join
2 join函式的第乙個引數是乙個陣列,第二個引數是分割符
3 呼叫join,那麼陣列中的每一項就會被指定的分割符鏈結起來,如果不指定分隔符,預設就是 『,』,如果分隔符傳入的不是乙個字串,那麼就返回false
4 返回值為字串,原陣列不變。
function join(arr, spliter)
if(typeof spliter !== 'string')
for(var i=0, str='', len = arr.length; i1 ? arr[i] + spliter : arr[i];
} return str;
}var arr = [1, 2, 3];
console.log(join(arr)); // '1,2,3'
console.log(join(arr, '')); // '123'
console.log(join(arr, '--')); //'1--2--3';
console.log(join(arr, 123)); // false
console.log(arr); // [1, 2, 3];
reverse(反轉)
1 封裝乙個函式叫做reverse
2 該函式的引數是乙個陣列
3 呼叫這個函式,那麼陣列將會反轉
4 返回反轉後的陣列
function reverse(arr)
}return arr;
}var arr = [1,2,3];
console.log(reverse(arr)); // [3, 2, 1]
console.log(arr); // [3, 2, 1]
filter
1 封裝乙個函式叫做filter
2 該函式的第乙個引數是要過濾的陣列,第二個引數是乙個函式成為過濾函式
3 呼叫這個方法,會對陣列進行遍歷
4 每次遍歷,都會把陣列的當前這項和索引值當作引數傳給過濾函式
5 這個過濾函式的規則一旦符合就返回這個值
6 filter函式最終返回所有符合條件的資料的集合,乙個新陣列。
function
push
(arr)
function
filter
(arr, cb)
}return result;
}var arr = [11, 4, 7, 12, 17, 9];
var result = filter(arr, function
(item, i));
console.log(result); // [11, 12, 17];
var normalattr = [
'width',
'height',
'left',
'top',
'bottom',
'right',
'marginleft',
'margintop',
'marginbottom',
'marginright'
];var box = document.queryselector('.box');
function
indexof
(arr, item)
} return -1;
}function
css(ele, attr, val)else
} function
setattr
(attr, val)else
} // 批量設定
if(typeof attr === 'object')
return;
} setattr(attr, val);
}css(box,'background','yellow');
陣列方法之forEach底層封裝
foreach方法是es5新增的陣列方法,用於陣列的迴圈遍歷,只有乙個引數,需要傳入乙個函式,很多人說是有三個引數,其實這種說話是錯誤的,是他的引數函式有三個形參,而不是foreach方法有三個引數。1 foreach方法接受乙個函式引數,該函式引數中有三個形參,當然有些形參用不到就可以不宣告。2 ...
JS中陣列方法的封裝之slice
slice方法的功能 1 陣列的擷取 2 slice m,n 從陣列索引m開始,擷取到索引n,但是不包含n 前包後不包 slice m 從索引m開始,擷取到末尾 slice 陣列的轉殖 slice 0 索引負數 讓當前length 負數 3 返回值是擷取的陣列 4 原有陣列不發生改變 首先 先分清楚...
JS中陣列方法的封裝之slice
slice方法的功能 1 陣列的擷取 2 slice m,n 從陣列索引m開始,擷取到索引n,但是不包含n 前包後不包 slice m 從索引m開始,擷取到末尾 slice 陣列的轉殖 slice 0 索引負數 讓當前length 負數 3 返回值是擷取的陣列 4 原有陣列不發生改變 首先 先分清楚...