JavaScript数据结构与算法整理------数组2

4.可变函数

 1. 为数组添加元素

    有两个方法可以为数组添加元素:push()  unshift()。 push()方法会将一个元素添加到数组的末尾处

var nums = [1,2,3]
nums.push(4)
pint(nums) // 1,2,3,4

   unshift()方法会将一个元素添加到数组的开头

var nums = [1,2,3]

nums.unshift(4)

pint(nums) // 4,1,2,3

   2.从数组中删除元素

    pop()方法可以删除数组中末尾的元素

var nums =[1,2,3,4,9]
nums.pop()
pint(nums) // 1,2,3,4

 shift()方法可以删除数组中的第一个元素

var nums = [9,1,3,4,5]
nums.shift()
pint(nums) // 1,3,4,5

 pop()和shift都可以将删除的元素当做方法的返回值返回 ,可以用变量进行保存

var nums = [9,1,2,3,4,5,8]
var n = nums.pop()
pint(n)  // 8

var m = nums.shift()

pint(m) // 9

3.从数组的中间位置进行删除或者添加 

 splice()方法在数组中添加元素需要进行提供以下参数

  1.     起始索引(也就是希望开始添加元素的地方)
  2.     需要删除元素的个数(添加元素的时候该参数设置为:0)
  3.     想要添加进数组的元素
//在数组中间插入元素

var nums=[1,2,3,7,8,9];

var news=[4,5,6];

nums.splice(3,0,news);

print(nums);//1,2,3,4,5,6,7,8,9
//从数组中删除元素的例子
var nums=[1,2,3,100,200,300,400,4,5];

nums.splice(3,4);

print(nums);//1,2,3,4,5
4 为数组排序
  reverse() :该方法将数组中的元素的顺序进行翻转。
var nums = [1,2,3,4,5];
nums.reverse();
print(nums); // 5,4,3,2,1

sort(): 将数组中的元素进行排序,如果元素是字符串类型就会非常好用

var names = ["David","Mike","Cynthia","Clayton","Bryan","Raymond"];
names.sort();
print(names); // Bryan,Clayton,Cynthia,David,Mike,Raymond
sort() 方法是按照字典顺序对元素进行排序的,因此它假定元素都是字符串类型,在上一
个例子中,即使元素是数字类型,也被认为是字符串类型。
var nums = [3,1,2,100,4,200];
nums.sort();
print(nums); // 1,100,2,200,3,4

解决办法就是传入一个大小比较函数

function compare(num1, num2) {
return num1 - num2;
}
var nums = [3,1,2,100,4,200];
nums.sort(compare);
print(nums); // 1,2,3,4,100,200
sort() 函数使用了 compare() 函数对数组按照数字大小进行排序,而不是按照字典顺序。

你可能感兴趣的:(打卡,原力值打卡,数据结构,算法,javascript)