pop()用于从数组末尾删除元素,它会更改数组的长度。
var countries = ["INDIA", "USA", "UK", "CANADA", "RUSSIA"];
countries.pop();
countries.pop();
countries.pop();
//"INDIA", "USA"
参考:js中数组的pop方法_数组pop()方法以及JavaScript中的示例_cumubi7453的博客-CSDN博客
push() 可向数组的末尾添加一个或多个元素,并返回新的长度。
注意:实在数组的末尾,而不是数组每一项的末尾添加内容!
var str =[1,2,3,4,5];
str.push("7")
// str=[1,2,3,4,5,7]
讲一个小技巧,在js中需要一个数组,然后把另一个数组的值赋值到这个数组,如下:
已知数组1--> str1=[1,2,3,4];
var str2=[];
把数组1的值赋值给数组2,则
str2.push(str1);
这样,str1中的值就赋值给了str2.
参考:javaScript--push()方法_竹蜻蜓dd的博客-CSDN博客_js push
shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。
如果数组是空的,那么 shift() 方法将不进行任何操作,返回 undefined 值。请注意,该方法不创建新数组,而是直接修改原有的 arrayObject。该方法会改变数组的长度。
参考:JavaScript shift() 方法_hellochenlu的博客-CSDN博客
unshifit()可向数组的开头添加一个或更多元素,并返回新的长度
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.unshift("Lemon","Pineapple");
// ["Lemon","Pineapple","Banana", "Orange", "Apple", "Mango"]
参考:JavaScript Array unshift() 方法
splice()主要用来对js中的数组进行操作,包括删除,添加,替换等。
1、删除功能,第一个参数为第一项位置,第二个参数为要删除几个。
array.splice(index,num),返回值为删除内容,array为结果值。
<script>
var array = ['a','b','c','d'];
var removeArray = array.splice(0,2);
alert(array);//弹出c,d
alert(removeArray);//返回值为删除项,即弹出a,b
</script>
2、插入功能, 第一个参数(插入位置),第二个参数(0),第三个参数(插入的项)
array.splice(index,0,insertValue),返回值为空数组,array值为最终结果值
<script>
var array = ['a','b','c','d'];
var removeArray = array.splice(1,0,'insert');
alert(array);//['a', 'insert', 'b', 'c', 'd']
alert(removeArray);//弹出空
</script>
3、替换功能, 第一个参数(起始位置),第二个参数(删除的项数),第三个参数(插入任意数量的项)
array.splice(index,num,insertValue),返回值为删除内容,array为结果值。
<script>
var array = ['a','b','c','d'];
var removeArray = array.splice(1,1,'insert');
alert(array);//['a', 'insert', 'c', 'd']
alert(removeArray);//弹出b
</script>
参考:JavaScript中的splice方法_wenxuechaozhe的博客-CSDN博客_js spice
reverse() 方法用于颠倒数组中元素的顺序。
该方法会改变原来的数组,而不会创建新的数组。
参考:JavaScript reverse() 方法_来自流星的博客-CSDN博客_js reverse
var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
console.log(arr.reverse()) // Thomas,John,George
filter()用于对数组进行过滤。
它创建一个新数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
注意:filter()不会对空数组进行检测、不会改变原始数组
Array.filter(function(currentValue, indedx, arr), thisValue)
filter()接收的回调函数,其实可以有多个参数。通常我们仅使用第一个参数,表示Array的某个元素。回调函数还可以接收另外两个参数,表示元素的下标和数组本身:
let nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
let res = nums.filter((num) => {
return num > 5;
});
console.log(res); // [6, 7, 8, 9, 10]
参考:1、详解 js filter 的使用方法_kevin_pi的博客-CSDN博客_jsfilter函数的用法
2、JS中filter()方法的使用_A是曾同学呀的博客-CSDN博客_jsfilter函数的用法
JavaScript中filter( )的三种用法_辰辰北的博客-CSDN博客_js中filter函数用法
concat()方法是用于连接两个或多个数组。
concat括号后面连接的是数组名,该方法不会改变现有的数组
var Array= ["hello", "word"];
var ArrayItem= ["java", "C++", "C#"];
var ArrayData= ["name"];
var children = Array.concat(ArrayItem,ArrayData);
//hello,word,java,C++,C#,name
参考:javascript 的 concat()方法_MeetCode的博客-CSDN博客_concat js
slice() 方法可从已有的数组中返回选定的元素。
arrayObject.slice(start,end)
参数说明:start 必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2指倒数第二个元素,以此类推。
end 可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。
var arr = new Array();
arr[0] = "first";
arr[1] = "second";
arr[2] = "third";
arr[3] = "forth";
console.log(arr.slice(0));
console.log(arr.slice(2));
console.log(arr.slice(1,2));
//['first','second','third','forth']
//['third','forth']
//['second']
var str = "abcdefg";
console.log(str.slice(-1));//g
console.log(str.slice(2));//cdefg
console.log(str.slice(0,3));//abc
console.log(str.slice(0,-2));//abcde
console.log(str.slice(-3,-2));//e