var arr=[1,2,3,4,5,6,7,8,9,10];//创建数组 var testArr=arr;//让testArr等于创建的数组 arr.splice(0,1);删除arr数组的第一项 console.log(testArr);//[2,3,4,5,6,7,8,9,10] 这是由于数组是引用类型 testArr=arr 这句话让testArr和arr的指针指向一个内存地址,所以改变的时候,两个数组的内容都改变了 注意改变arr的数据的时候,同时testArr的数据也同时变了
小程序canvas绘制纯色圆角区域: //方法: roundRectPath:function(ctx, x, y, w, h, r) { ctx.beginPath(); ctx.moveTo(x + r, y); ctx.arcTo(x + w, y, x + w, y + h, r); ctx.arcTo(x + w, y + h, x, y + h, r); ctx.arcTo(x, y + h, x, y, r); ctx.arcTo(x, y, x + w, y, r); ctx.c
树状数组是和线段树类似的数据结构,基本上树状数组可以做的线段树都可以做: 树状数组就是一个数组,在信息记录上有一些特点,以动态求前n项和为例:可以改变数组的某一个元素,求前n项和: 数组tree[ i ]记录的是A[ i - lowbit ( i )+1]~A[ i ]的和,lowbit(i),表示i的最低二进制是多少:表现在数组编号上就是上面的图中表现的东西: 求前n项和的操作: #include<iostream> #include<cstdio> using namespac
项目中碰到的一个小需求:分页请求数据,一次请求60条,需要将后台返回的数组每10条分成一组渲染一个表格(表格使用的是ant-design-vue的table) 实现逻辑: var chunk = 10; var len = res.data.content.length; var result = []; for (let i = 10; i < len; i += chunk) { result.push(res.data.content.slice(i, i + chunk)) // 每10
Array类型并没有提供去重复的方法,如果要把数组的重复元素干掉,那得自己想办法: function unique(arr) { var result = [], isRepeated; for (var i = 0, len = arr.length; i < len; i++) { isRepeated = false; for (var j = 0, len = result.length; j < len; j++) { if (arr[i] == result[j]) { isRep
自己知道思路怎么去,但是就是自己不会写,在网上找了一些来看,有些还是没有怎么看明白.学习到了这么一种方法 var a=['ss','dd','ss','cc','dd',1,2,1] var b={}//注意这儿是声明的空对象: for(var i=0;i<a.length;i++){ b[a[i]]==a[i] //这个地方是在对B对象进行赋值,(添加属性并赋值); } a=[]; for(var el in b){ if(el==b[el]){ a.push(el) } } alert(a
var a = ["2013-01","2013-01","2013-02","2013-02","2013-02","2013-03","2013-03"]; Array.prototype.del = function() { var a = {}, c = [], l = this.length; for (var i = 0; i < l; i++) {