有两个数组
var arr1 = ['河南', '河北', '湖南', '湖北', '山西', '山东', '广东', '广西', '浙江', '福建', '安徽']
var arr2 = ['河北', '湖北', '山东', '浙江']
取arr1中的相同内容插入arr2中,保持顺序不变。
比如'河南'插入arr2需要还在第0位,'山西'插入arr2,因为arr2中前边的内容没有,则按顺序插入到第2位
有两个数组
var arr1 = ['河南', '河北', '湖南', '湖北', '山西', '山东', '广东', '广西', '浙江', '福建', '安徽']
var arr2 = ['河北', '湖北', '山东', '浙江']
取arr1中的相同内容插入arr2中,保持顺序不变。
比如'河南'插入arr2需要还在第0位,'山西'插入arr2,因为arr2中前边的内容没有,则按顺序插入到第2位
var arr1 = ['河南', '河北', '湖南', '湖北', '山西', '山东', '广东', '广西', '浙江', '福建', '安徽']
var arr2 = ['河北', '湖北', '山东', '浙江']
arr1.map((item, index) => arr2.splice(index, 1, item));
console.log(arr2);
数组有 API 可以在指定位置删除、添加元素:
array.splice(start[, deleteCount[, item1[, item2[, ...]]]])
start
指定修改的开始位置(从0计数)。如果超出了数组的长度,则从数组末尾开始添加内容;如果是负值,则表示从数组末位开始的第几位(从-1计数,这意味着-n是倒数第n个元素并且等价于array.length-n
);如果负数的绝对值大于数组的长度,则表示开始位置为第0位。
deleteCount
可选
整数,表示要移除的数组元素的个数。
如果 deleteCount
大于 start
之后的元素的总数,则从 start
后面的元素都将被删除(含第 start
位)。
如果 deleteCount
被省略了,或者它的值大于等于array.length - start
(也就是说,如果它大于或者等于start
之后的所有元素的数量),那么start
之后数组的所有元素都会被删除。
如果 deleteCount
是 0 或者负数,则不移除元素。这种情况下,至少应添加一个新元素。
item1, item2, _..._
可选
要添加进数组的元素,从start
位置开始。如果不指定,则 splice()
将只删除数组元素。
详情请见 >>>>Array.prototype.splice()
13 回答12.8k 阅读
8 回答2.6k 阅读
2 回答5.1k 阅读✓ 已解决
7 回答1.9k 阅读
9 回答1.7k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
5 回答848 阅读
看你说的例子,取河南和山西 ... 这个在 arr 1 里面是没有重复的,
按照说明感觉不对啊,如果按照 arr1 的重复内容丢到 arr2 ,那你直接去取重复的不就好了吗?
如果 arr2 有默认的内容,并且在 arr1 里面
如果重复次数超过1, 用 [...new Set([])] 去重