网站开发的数据库,做测评的网站,织梦文章title怎么显示网站title,网站开发流程心得体会Array.slice方法和splice方法在众多的JS数组中属于比较复杂的一个方法#xff0c;而且容易记混。搜索网络上很多资料都没有发现系统的总结。特别归纳如下#xff0c;不完全处还希望各位批评指正。一、slice方法格式#xff1a;arrayObj.slice(start, [end])功能#xff1a;…Array.slice方法和splice方法在众多的JS数组中属于比较复杂的一个方法而且容易记混。搜索网络上很多资料都没有发现系统的总结。特别归纳如下不完全处还希望各位批评指正。 一、slice方法格式arrayObj.slice(start, [end])功能返回指定数组的一个子数组并不修改原来数组。参数start必需。arrayObj的指定部分的开头。end可选。arrayObj的指定部分的结尾。 数组使用来看这个方法类似于串操作中的substr函数。但是当参数为负数时情况就复杂了。具体情况详见下面的代码示例var a1[1,3,5,7,9];var n1a1.slice(0); //n1[1,3,5,7,9]效果与a1.slice(0,5)一样var n1a1.slice(1); //n1[3,5,7,9]var m1a1.slice(0,2); //m1[3,5]2代表截取子串的长度var m1a1.slice(0,5); //m1[1,3,5,7,9]5代表截取子串的长度var m1a1.slice(0,15); //m1[1,3,5,7,9]15大于最大长度不再起作用var m1a1.slice(0,-1); // m1[1,3,5,7]var m1a1.slice(0,-2); // m1[1,3,5]var m1a1.slice(0,-5); // m1[]var m1a1.slice(0,-15); // m1[]var n2a1.slice(-1); //n2[9]var n3a1.slice(-2); //n3[7,9]var nxa1.slice(-5); // nx[1,3,5,7,9]var nya1.slice(-10); // ny[1,3,5,7,9] [1,2,3,4,5,6,7,8,9].slice(-5); //[5,6,7,8,9][1,2,3,4,5,6,7,8,9].slice(-5,-1); //[5,6,7,8][1,2,3,4,5,6,7,8,9].slice(-5,-3); //[5,6][1,2,3,4,5,6,7,8,9].slice(-5,-10); //[][1,2,3,4,5,6,7,8,9].slice(-5,0); //[][1,2,3,4,5,6,7,8,9].slice(-5,1); //[]上述代码片断已经概括了slice方法的所有使用情形总结如下1如果start0 ① 当没有参数end时从原数组中返回从索引号start开始直到最后元素的子数组。 ② 当参数end0时从原数组中返回从索引号start开始的end个元素的子数组。此时如果end数组最大长度则返回length个元素组成的子数组。2如果start0 ① 当没有参数end时从原数组尾部截取|start|个元素组成的子数组。此时如果|start|数组最大长度则返回length个元素组成的子数组。 ② 当参数end0则从没有参数end时取得的子串例如sub1尾部截去|end|个元素。此时当|end|sub1.length返回空子数组。 ③ 当参数end0返回空子数组。二、splice方法格式 arrayObject.splice(index,howmany,item1,.....,itemX) 功能splice() 方法向/从数组中添加/删除项目然后返回被删除的项目。 整数规定添加/删除项目的位置使用负数可从数组结尾处规定位置。要删除的项目数量。如果设置为 0则不会删除项目。 Array 包含被删除项目的新数组如果有的话。 splice() 方法可删除从 index 处开始的零个或多个元素并且用参数列表中声明的一个或多个值来替换那些被删除的元素。如果从 arrayObject 中删除了元素则返回的是含有被删除的元素的数组。具体情况详见下面的代码示例 var arr[1,2,3,4,5,6]; var arr2arr.splice(2,4); console.log(arr2,arr2,,arr,arr); //arr2 [3, 4, 5, 6] ,arr [1, 2]