js 在数组中任意位置插入一个数组

js 在数组中任意位置插入一个数组,第1张

function insert(arrfirst,arrlast,index){    //将数组arrlast插入数组arrfirst中,index是想要插入的位置

if (index < 0){

index = 0

}else if(index > arrfirst.length){

index = arrfirst.length

}

var arr = []

for (var i = 0 i < index i++){

arr.push(arrfirst[i])

}

for (var i = 0 i < arrlast.length i++){

arr.push(arrlast[i])

}

for (var i = index i < arrfirst.length i++){

arr.push(arrfirst[i])

}

return arr

}

var arr1 = ["1","2","3"]

var arr2 = ["a","b","c"]

console.log(insert(arr1,arr2,0))    

alert(insert(arr1,arr2,1))

还有一种方法

function insert(arrfirst,arrlast,index){

if (index < 0){

index = 0

}else if(index > arrfirst.length){

index = arrfirst.length

}

for (var i = arrlast.length-1 i >= 0 i--){

arrfirst.splice(index,0,arrlast[i])//是在index位置用arrlast[i]替换掉arrfirst数组中的0个元素

}

return arrfirst

}

var arr1 = ["1","2","3"]

var arr2 = ["a","b","c"]

console.log(insert(arr1,arr2,0))    

alert(insert(arr1,arr2,1))

希望能帮到你

数组元素的添加

1.arrayObj. push([item1 [item2 [. . . [itemN ]]]])// 将一个或多个新元素添加到数组结尾,并返回数组新长度。

2.arrayObj.unshift([item1 [item2 [. . . [itemN ]]]])// 将一个或多个新元素添加到数组开始,数组中的元素自动后移,返回数组新长度。

3.arrayObj.splice(insertPos,0,[item1[, item2[, . . . [,itemN]]]])//将一个或多个新元素插入到数组的指定位置,插入位置的元素自动后移,返回""。

一. 基本概念

1.JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。

2.在1995年时,由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。

3.为了取得技术优势,微软推出了JScript,CEnvi推出ScriptEase,与JavaScript同样可在浏览器上运行。为了统一规格,因为JavaScript兼容于ECMA标准,因此也称为ECMAScript。

二. 组成部分

javascript组成一个完整的 JavaScript 实现是由以下 3 个不同部分组成的:

核心(ECMAScript)、文档对象模型(Document Object Model,简称DOM)、浏览器对象模型(Browser Object Model,简称BOM)。

javascript 是通过对象来实现的 map 功能,枚举其属性时是无序的。其实多数语言的 map 为了提高检索效率都是进行了一定的排序,都不是按插入元素的顺序来枚举的,除非专门实现的 SortedMap 之类。

如果你需要查找,也需要顺序,数据少可以直接用数组

var dataList = [{

key: '01',

value: '01'

}, {

key: '02',

value: '02'

}, {

key: '10',

value: '10'

}, {

key: '11',

value: '11'

}, {

key: '21',

value: '21'

}]

// 通过遍历查找数据,如找 "11"

var v = (function(data, k) {

for (var i = 0, length = data.lengthi <lengthi++) {

if (data[i].key === k) {

return data[i].value

}

}

})(dataList, "11")

如果数据比较多,可以使用 object + array 的办法,比如

全选复制放进笔记var data = {

map: {

'01': '01',

'02': '02',

'10': '10',

'11': '11',

'21': '21'

},

order: [

"01", "02", "10", "11", "21"

]

}

遍历数据可以这样

data.order.forEach(function(key) {

console.log(key + " = " + data.map[key])

})


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11688751.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存