当start为负值时表示从倒数第几个元素开始往后截取,不填end的话就表示从倒数第几个元素开始截取,一直截取到数组末尾元素。...arr.splice(-5,5) console.log(‘spliceArr’,spliceArr) // 得到[34,0,56,12,2] // splice()方法有三个参数,分别表示从哪个下标开始,删几个...var arr = new Array(“js”,”JavaScript”,”jQuery”); var end = arr.pop() console.log(end);//jQuery...console.log(arr);//[“js”, “JavaScript”] 二、数组的length属性 var arr = new Array(“js”,”JavaScript”...= arr[arr.length-1] console.log(end);//jQuery 三、JavaScript slice() 方法 var arr = new Array(“js
1 Array.prototype.unique1 = function () { 2 var n = []; //一个新的临时数组 3 for (var i = 0; i < this.length...; i++) //遍历当前数组 4 { 5 //如果当前数组的第i已经保存进了临时数组,那么跳过, 6 //否则把当前项push到临时数组里面 7 if (n.indexOf...n; 10 }; 11 12 13 Array.prototype.unique2 = function() 14 { 15 var n = {},r=[]; //n为hash表,r为临时数组...16 for(var i = 0; i < this.length; i++) //遍历当前数组 17 { 18 if (!...{ 33 //如果当前数组的第i项在当前数组中第一次出现的位置不是i, 34 //那么表示第i项是重复的,忽略掉。
项目用了vue,react之类的写,如今打算从基础开始,慢慢深入了解原生的JS.这几天清明节,玩的嗨皮,最后一次开始赶作业(我规定自己每天至少一个Js题,在网上随机找的。...*~*) 今天主要是重写了数组的remove(),concat()方法以及查找数组中对应元素。...3.在数组 arr 末尾添加元素 item。...因为直接给数组赋值如:var arry=arr;是赋值引用, 当我改变arry时,arr源会跟着改变,所以我选择克隆一个新数组。 4.数组的合并,不能在原有数组上修改。 ...arr2[i]); } return arry; } 注:这里我也用到了第3题的克隆(截取)方式 下面我再用一组图简单介绍一下操作数组用烂了的几个函数
前言 本文主要从应用来讲数组api的一些骚操作,如一行代码扁平化n维数组、数组去重、求数组最大值、数组求和、排序、对象和数组的转化等。 上面这些应用场景你可以用一行代码实现吗?...Array.from是将类数组转化为数组。 ...是扩展运算符,将set里面的值转化为字符串。...result.push(arr[i]); } return result; } [1,2,3,3,4,4].distinct(); //[1,2,3,4] 取新数组存值...终极篇 [1,2,3,4].sort(); // [1, 2,3,4],默认是升序 [1,2,3,4].sort((a, b) => b - a); // [4,3,2,1] 降序 sort是js...:将类数组扩展为字符串,再定义为数组。
作者:前端炮哥 前言 本文主要从应用来讲数组api的一些骚操作; 如一行代码扁平化n维数组、数组去重、求数组最大值、数组求和、排序、对象和数组的转化等;上面这些应用场景你可以用一行代码实现?...} } result.push(arr[i]); } return result; } [1,2,3,3,4,4].distinct(); //[1,2,3,4] 取新数组存值...a); // [4,3,2,1] 降序 sort是js内置的排序方法,参数为一个函数 开始篇 冒泡排序: Array.prototype.bubleSort=function () { let...arguments] 类数组:表示有length属性,但是不具备数组的方法 call,apply:是改变slice里面的this指向arguments,所以arguments也可调用数组的方法 Array.from...是将类似数组或可迭代对象创建为数组 ...是将类数组扩展为字符串,再定义为数组 开始篇 Array.prototype.slice = function(start,end){ var result
“ 关注 前端开发社区 ,回复 '领取资源',免费领取Vue,小程序,Node Js,前端开发用的插件以及面试视频等学习资料,让我们一起学习,一起进步 作者:前端炮哥 前言 本文主要从应用来讲数组api...的一些骚操作; 如一行代码扁平化n维数组、数组去重、求数组最大值、数组求和、排序、对象和数组的转化等; 上面这些应用场景你可以用一行代码实现?...; } } result.push(arr[i]); } return result; } [1,2,3,3,4,4].distinct(); //[1,2,3,4] 取新数组存值...a); // [4,3,2,1] 降序 sort是js内置的排序方法,参数为一个函数 开始篇 冒泡排序: Array.prototype.bubleSort=function () { let...是将类似数组或可迭代对象创建为数组 ...是将类数组扩展为字符串,再定义为数组 开始篇 Array.prototype.slice = function(start,end){ var
function arrayIntersection ( a, b ) { var ai=0, bi=0; var result = new A...
', 1: 'b', 2: 'c' } => ayy=['a','b','c'] ---- 1、Array.from(object) 注: 1️⃣ object中必须有length属性,返回的数组长度取决于...length长度 2️⃣ key 值必须是数值 2、Object.values(object) 注:与第一种不同的是不需要length属性,返回一个对象所有可枚举属性值 返回数组的成员顺序...'b', 7: 'c' }; Object.values(obj) // ["b", "c", "a"] 3、Object.keys(object) 注:返回一个对象的自身可枚举属性组成的数组...,数组中属性名的排列顺序和使用 for…in 循环遍历该对象时返回的顺序一致 4、Object.entries(object) 注:返回一个给定对象自身可枚举属性的键值对数组 const obj
序列文章 JS面试之函数(1) JS面试之对象(2) 前言 本文主要从应用来讲数组api的一些骚操作; 如一行代码扁平化n维数组、数组去重、求数组最大值、数组求和、排序、对象和数组的转化等; 上面这些应用场景你可以用一行代码实现...Array.from是将类数组转化为数组 ...是扩展运算符,将set里面的值转化为字符串 2.开始篇 Array.prototype.distinct = nums => { const map =...map[n] = 1 result.push(n) } } return result } [1,2,3,3,4,4].distinct(); //[1,2,3,4] 取新数组存值...b - a); // [4,3,2,1] 降序 sort是js内置的排序方法,参数为一个函数 2.开始篇 冒泡排序: Array.prototype.bubleSort=function () {...] 类数组:表示有length属性,但是不具备数组的方法 call,apply:是改变slice里面的this指向arguments,所以arguments也可调用数组的方法 Array.from是将类似数组或可迭代对象创建为数组
点击上方“IT平头哥联盟”,选择“置顶或者星标” 一起进步~ 前言 本文主要从应用来讲数组api的一些骚操作; 如一行代码扁平化n维数组、数组去重、求数组最大值、数组求和、排序、对象和数组的转化等;...Array.from是将类数组转化为数组 ...是扩展运算符,将set里面的值转化为字符串 2.开始篇 Array.prototype.distinct = function(){ var arr...j = ++i; } } result.push(arr[i]); } return result; } [1,2,3,3,4,4].distinct(); //[1,2,3,4] 取新数组存值...b - a); // [4,3,2,1] 降序 sort是js内置的排序方法,参数为一个函数 2.开始篇 冒泡排序: Array.prototype.bubleSort=function () {...] 类数组:表示有length属性,但是不具备数组的方法 call,apply:是改变slice里面的this指向arguments,所以arguments也可调用数组的方法 Array.from是将类似数组或可迭代对象创建为数组
以下是个人在工作中收藏总结的一些关于javascript数组方法reduce的相关代码片段,后续遇到其他使用这个函数的场景,将会陆续添加,这里作为备忘。...理解reduce函数 reduce() 方法接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始缩减,最终为一个值。...片段九:redux-actions对state的加工片段 // redux-actions/src/handleAction.js const handleAction = (type, reducer...throwReducer : nextReducer)(state, action); } } // reduce-reducers/src/index.js const reduceReducer...reducers.reduce((p, r) => r(p, current), previous); } } // redux-actions/src/handleActions.js
js没有直接的方式来获取两个列表的交集,需要自己写一个函数,如下: function jiaoji(arr_1,arr_2){ //先对arr_1进行一次深拷贝,防止对原两个列表造成影响 let
1.Js代码: //求余数 document.write(1%4); document.write(6%4); //求商 console.info...(1/4); console.info(6/4); //求商,取整 console.info(parseInt(1/4)); console.info(parseInt...(6/4)); console.info('----'); //天花板取整 console.info(Math.ceil(1/4)); //地板取整
2、jQuery.inArray()方法 定义和用法 $.inArray() 函数用于在数组中查找指定值,并返回它的索引值(如果没有找到,则返回-1) 提示:源数组不会受到影响,过滤结果只反映在返回的结果数组中...Number类型 指定从数组的指定索引位置开始查找,默认为 0 3、JavaScript find() 方法 定义和用法 find() 方法返回通过测试(函数内判断)的数组的第一个元素的值。...find() 方法为数组中的每个元素都调用一次函数执行: 当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数。...如果没有符合条件的元素返回 undefined 注意:find() 对于空数组,函数是不会执行的。 注意:find() 并没有改变数组的原始值。...如果没有符合条件的元素返回 -1 注意:find() 对于空数组,函数是不会执行的。 注意:find() 并没有改变数组的原始值。
取余 6 % 2 取整 抛弃整数 parseInt(7/3) 向上取整(天花板嘛,代表上) Math.ceil(7/3) 向下取整(地板嘛,代表下) Math.floor(7/3) 四舍五入 Math.round
1.丢弃小数部分,保留整数部分 parseInt(5/2) 2.向上取整,有小数就整数部分加1 Math.ceil(5/2) 3,四舍五入....Math.round(5/2) 4,取余 6%4 5,向下取整 Math.floor(5/2) Math 对象的方法 FF: Firefox, N: Netscape, IE: Internet Explorer
数组的浅拷贝, 可用concat、slice返回一个新数组的特性来实现拷贝 var arr = ['old', 1, true, null, undefined]; var new_arr = arr.concat...source.a.b = 10; console.log(source); // { a: { b: 10 } }; console.log(target); // { a: { b: 10 } }; 但是如果数组嵌套了对象或者数组的话用...== 'object') return; // 根据obj的类型判断是新建一个数组还是一个对象 var newObj = Array.isArray(obj) ?...,就会拷贝一份,互不影响,而如果是对象或者数组,就会只拷贝对象和数组的引用,这样我们无论在新旧数组进行了修改,两者都会发生变化。...数组的深拷贝 方法一:JSON.stringify()不仅可拷贝数组还能拷贝对象(但不能拷贝函数,也不能解决循环引用问题) var arr = ['old', 1, true, ['old1', 'old2
1.对象转数组 var obj = {name:”张三”,name:”李四”,name:”王五”}; var arr = []; arr = Object.values(obj) //obj就被转换成数组了...2.数组转对象 var obj={}; var arr = []; for(key in arr) { obj[key] = arr[key] //上面的对象obj会被这里新转换的替换 } 3.获取对象长度...对象的长度不能用.length获取,用js原生的Object.keys可以获取到 var obj = {‘ww’:’11’,’ee’:’22}; var arr = Object.keys
尤其是在下班之后没有事情做的时候,不要想着去玩游戏,而是花一点点的时间去浏览一下这两年前端市场里面出现的一些知识点吧~~ 今天记录一下平时经常会用到的一些数组方法~~ 数组常用的几个方法~~· 1:ES6...系列笔记-数组方法filter(过滤) 就是留下经过我们处理的符合条件的结果 过滤也就是筛选的意思 例子1:过滤掉不能被3整除的数,打印出来能被整除的数 <!...示例:判断数组所对应的的状态是否及格 <!...3:ES6系列笔记-数组方法reduce reduce应用场景:计算数组中所有值的总和 数组求和: <!...4:ES6系列笔记-数组方法 forEach循环遍历(迭代) <!
文章目录 一、多维数组操作模型 1、取出某个数组元素地址 2、取出某个数组元素值 总结 一、多维数组操作模型 ---- 以 // 声明一个多维数组 int array[2][3]; 二维数组为例...行 , 第 1 列 元素变量 , 取地址 , 就是取该变量的地址 , 也就是 第 0 行 , 第 1 列元素的地址 ; 第 i 行 , 第 j 列 元素地址 : array[i]...+ j : array 代表 二维数组首元素地址 , array[i] 是二维数组第 i 元素值 , 该值是 一维数组 , 数组名是数组首元素地址 , 数组名 + j 就是第 j 个元素的地址...元素变量 , 取地址 , 就是取该变量的地址 , 也就是 第 i 行 , 第 j 列元素的地址 ; 2、取出某个数组元素值 取出某个元素值 , 就是在上面的 " 第 i 行 , 第 j...列 元素地址 " 基础上 , 加上 * 取该地址对应的值 ; 第 i 行 , 第 j 列 元素值 : *(array[i] + j) *(*(array + i) + j) ; a[i][j]
领取专属 10元无门槛券
手把手带您无忧上云