专栏首页搞前端的李蚊子常用的几个数组操作方法

常用的几个数组操作方法

1.取余分割数组

var chartArr = [1, 2, 3, 4, 5, 6, 7];
Array.prototype.splitArray = function(num) {
    var m = this;
    var currData = [];
    var doneData = [];
    for (var i = 0; i < m.length; i++) {
        currData.push(m[i]);
        if (i != 0 && (i + 1) % 4 == 0 || i == m.length - 1) {
            doneData.push(currData);
            currData = [];
        };
    };
    if (doneData.length > 0) {
        return doneData;
    } else {
        return false;
    };
};
var newArr = chartArr.splitArray(4);

2. 数组去重

Array.prototype.unique = function() {
    var arr = [];
    var obj = {};
    for (var i = 0; i < this.length; i++) {
        if (!obj[this[i]]) {
            arr.push(this[i]);
            obj[this[i]] = i + 1;
        };
    };
    return arr;
};
var arr = [112, 112, 34, '你好', 112, 112, 34, '你好', 'str', 'str1'];
console.log(arr.unique());

3. 数组反向(其实reverse也可以)

Array.prototype.resore = function() {
	var newArr = [];
	for (var i = this.length - 1; i >= 0; i--) {
		newArr.push(this[i]);
	}
	return newArr;
};
var res = chartArr.resore();
console.log(res);

4.冒泡排序

var sorArr = [0, 5, 8, 4, 3, 1, 2];
Array.prototype.sortArr = function(arr) {
		for (var i = 0; i < arr.length; i++) {
			for(var j=i+1;j<arr.length;j++){
				var cur = arr[i];
				if(cur>arr[j]){
					var ind = arr[j];
					arr[j] = cur;
					arr[i] = ind;
				}
			};
		};
		return arr;
	};
var sor = sorArr.sortArr(sorArr);
console.log(sor);

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 获取Object对象的length

    所有JS程序猿(甚至不止JS)都知道,数组(Array)是有length的,通过length属性,可以很方便的获取数组的长度。可以说,只要使用到了数组,就必会使...

    李文杨
  • 基于Vue.js的大型报告页项目实现过程及问题总结(一)

    今年5月份的时候做了一个测评报告项目,需要在网页正常显示的同时且可打印为pdf,当时的技术方案采用jquery+template的方式,因为是固定模板所以并没有...

    李文杨
  • js根据出生年月日换算年龄

    function age_Conversion(date) { debugger var age = ''; var str = date.repl...

    李文杨
  • Javascript的this用法

    this是Javascript语言的一个关键字。 它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用。比如,   function test(){ ...

    ruanyf
  • 深入理解JavaScript的this指向问题

    this是Javascript语言的一个关键字。 它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用。比如:

    小周sri的码农
  • Javascript快速入门(上篇)

    Javascript的熟练之路,小弟来了。 ? JavaScript简介:JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,...

    用户1216676
  • ol中闪烁点动画的实现

    实现如图的动画,可以用两种思路: 1.overlay+css3动画实现; 2.canvas动画实现。

    lzugis
  • 全民刷军装背后的AI技术及简单实现

    昨天有Design-AI-Lab用户后台留言,问为什么换军装的h5这么火,但没见到有技术文章分析如何实现。 我回复说,大概是比较简单吧,主要工作是图像合成。 ...

    mixlab
  • jQuery开发技巧

    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。

    奋飛
  • 你知道多少this,new,bind,call,apply?那我告诉你

    那么什么是this,new,bind,call,apply呢?这些你都用过吗?掌握这些内容都是基础中的基础了。如果你不了解,那还不赶快去复习复习,上网查阅资料啥...

    达达前端

扫码关注云+社区

领取腾讯云代金券