数组拼接后是如何组织的
How is an array organised after being spliced?
有一个数组:
var tab = ["a","b","c","d"];
tab.splice(0,2);
数组拼接后的起始索引是多少?怎么知道呢?
它总是0。即使你拼接,设置空,未定义,等等…
我的意思是,如果设置诸如tab[0]=null或tab[0]=undefined之类的内容,数组的长度和索引都是不变的。只有在拼接、删除阵列中的项目时,长度才会更改。示例:
var array = [1,2,3,4,5,6,7,8];
console.log('Array length: %s, and index 0 value : %s ',array.length, array[0] ); //should be 8 and 1
array[0] = undefined;
console.log('Array length: %s, and index 0 value : %s ',array.length, array[0] ); //should be 8 and undefined
array[0] = null;
console.log('Array length: %s, and index 0 value : %s ',array.length, array[0] ); //should be 8 and null;
现在添加拼接:
var array = [1,2,3,4,5,6,7,8];
console.log('Array length: %s, and index 0 value : %s ',array.length, array[0] ); //should be 8 and 1
var arraySpliceLength = 2;
array.splice(0,arraySpliceLength);
console.log('Array length: %s, and index 0 value : %s ',array.length, array[0] ); //should be 6 and 3
长度发生了变化,但起始索引仍为0,值=array[array.length-arraySpliceLength]=2
拼接输入数组后,它返回新的数组,该数组也开始wint index=0。
您可以检查它,即使用for
循环:
var output = tab.splice(0,2);
for (var i = 0; i < output.length; i++) {
console.log(i, output[i]);
}
使用indexOf
方法查看结果。
var tab = ["a","b","c","d"];
tab.splice(0,2);
console.log(tab);
console.log(tab.indexOf("c"));
演示
相关文章:
- Angularjs拼接成环状
- 将Windows文件路径组织到文件夹中
- 如何为d3.js图表输出组织/嵌套数据
- 拼接未删除某些字符
- 将数组的拼接分配给自身时,Javascript控制台打印不起作用
- 如何组织用户系统的Mongo集合
- “createImageData()”和“new ImageData(()”有何不同
- Html5-使用SVG路径绘制的组织层次结构在左手边被剪裁
- 了解JS数组和拼接
- 谷歌组织结构图:具有多种属性的样式
- 尝试对对象数组进行排序但拼接不是一个函数
- orderBy$filter在项目删除(拼接)后阻止ng重复列表更新
- 用替换或拼接替换阵列中的编号
- JSON分析拼接问题
- 角度JS拼接不工作
- Javascript拼接对象而不是数组
- Javascript原型组织
- 如何在对象上实现类似拼接的功能
- 有可能对对象中的所有键进行原子更新吗?类似于阵列拼接的东西
- 数组拼接后是如何组织的