Array常用方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_29421531/article/details/87971468

数组常用方法
演示:push()、shift()、unshift()、reverse()、sort()、splice()、indexOf()

/
/ 1 栈操作(先进后出)
push()
pop() //取出数组中的最后一项,修改length属性
// 2 队列操作(先进先出)
push()
shift() //取出数组中的第一个元素,修改length属性
unshift() //在数组最前面插入项,返回数组的长度
// 3 排序方法
reverse() //翻转数组
sort(); //即使是数组sort也是根据字符,从小到大排序
// 带参数的sort是如何实现的?
// 4 操作方法
concat() //把参数拼接到当前数组
slice() //从当前数组中截取一个新的数组,不影响原来的数组,参数start从0开始,end从1开始
splice() //删除或替换当前数组的某些项目,参数start, deleteCount, options(要替换的项目)
// 5 位置方法
indexOf()、lastIndexOf() //如果没找到返回-1
// 6 迭代方法 不会修改原数组(可选)
every()、filter()、forEach()、map()、some()
// 7 方法将数组的所有元素连接到一个字符串中。
join()

MDN

  // 1 .栈操作  先进后出
    // var array = [1, 2, 3];
    // array[array.length] = ...
    // array.push(4);
    // // 参数, 可以有多个,将来都会添加到数组最后
    // // 返回值,就是改变后的数组的长度
    // var r = array.push(5, 6, 7);
    // // console.log(r);
    // // console.log(array);
    
     // // pop 返回数组中的最后一个元素,并且会修改数组的长度
    // var last = array.pop();
    // console.log(last);
    // console.log(array.length);
    // console.log(array);
    
// 2 队列操作(先进先出)
    // var array = [1, 2, 3];
    // array.push(4);
    // var first = array.shift();
    // console.log(first);
    // console.log(array);
      // array.unshift(0);
    // console.log(array);
 // 3 排序方法
    // var array = ['e', 'c', 'f', 'b'];
    // // var newArray = array.reverse();
    // // console.log(newArray);
    // // 
    // // sort() 直接在原数组上进行排序
    
    // array.sort();
    // console.log(array);
    
    // arr.sort(function (a, b) {
    //   return b - a;
    // })

    // console.log(arr);

清空数组

方式1 推荐
arr = [];
// 方式2
arr.length = 0;
// 方式3
arr.splice(0, arr.length);

工资的数组[1500, 1400, 2000, 2100, 1600],把工资超过2000的删除

var array=[1500, 1400, 2000, 2100, 1600]
var tmpArray = [];
for (var i = 0; i <array.length; i++) {
if(array[i] < 2000) {
tmpArray.push(array[i]);
}
}
console.log(tmpArray);

array = array.filter(function (item, index) {
if (item < 2000) {
return true;
}
return false;
});
console.log(array);

[“c”, “a”, “z”, “a”, “x”, “a”]找到数组中每一个a出现的位置

// var index = -1;
    // do {
    //   index = arr.indexOf('a', index + 1);

    //   if (index !== -1) {
    //     console.log(index);
    //   }
    // } while (index !== -1);
    

编写一个方法去掉一个数组的重复元素

function clear(arr) {
// 1 如何获取数组中每一个元素出现的次数
var o = {}; // 记录数组中元素出现的次数
for (var i = 0; i < arr.length; i++) {
		var item = arr[i]; // 数组中的每一个元素
		   // o[item] = 1;
		   // 判断o对象是否有当前遍历到的属性
		if (o[item]) {
		  // 如果o[item] 存在,说明次数不为1
		 o[item]++;
		} else {
		  // 如果o[item] 不存在,说明是第一次出现
		  o[item] = 1;
		}
}
// console.log(o);

// 2 生成一个新的数组,存储不重复的元素
var newArray = [];
// 遍历对象o中的所有属性
for (var key in o) {
	// 判断o对象中当前属性的值是否为 1 如果为1 说明不重复直接放到新数组中
	if (o[key] === 1) {
	newArray.push(key);
	} else {
	// o对象中当前属性 次数不为1 ,说明有重复的,如果有重复的话,只存储一次
	// 判断当前的newArray数组中是否已经有该元素
		if (newArray.indexOf(key) === -1) {
			newArray.push(key);
		}
	}
}
	return newArray;
}

var array = ['c', 'a', 'z', 'a', 'x', 'a'];
var newArray = clear(array);
console.log(newArray);

var arr=[2,8,5,0,5,2,6,7,2];
function unique1(arr){
var hash=[];
for (var i = 0; i < arr.length; i++) {
	if(hash.indexOf(arr[i])==-1){
	hash.push(arr[i]);
	}
}
	return hash;
}

猜你喜欢

转载自blog.csdn.net/sinat_29421531/article/details/87971468