首页 > 开发 > Javascript > 正文

JavaScript 数组运用实现代码

2020-02-28 04:06:29
字体:
来源:转载
供稿:网友

截取数组:slice(startIndex,endIndex):

返回数组中指定开始位置倒结束位置的数组。不改变原数组内容。

另外还有一个重要的方法,插入、删除或替换数组元素方法:
splice(startIndex,howmany,element1~elementX):会修改原数组内容。参数含义分别为:“指定开始位置”,“删除多少个元素个数(可以为0)”,“添加到数组中的新元素(从startIndex下标开始)”。

相关运用
//题目一:"A[B]C[D]E[F]G"将其分为两个数组,分别是 ACEG 和 [B][D][F].
代码如下:
function QuestionFn1() {
var str = "A[B]C[D]E[F]G";
var oGetTwoArray = new GetTwoArray();
//取左右括号中的值
oGetTwoArray.GetLeftAndRightValue(str);
oGetTwoArray.GetNoLeftAndRightValue(str);
var array1 = oGetTwoArray.arrBetweenLeftRight;
var array2 = oGetTwoArray.arrNoLeftRight;
alert(array1.join(""));
alert(array2.join(""));
}
//找到左右括号的index
function GetTwoArray() {
this.indexLeft = 0; //左括号索引
this.indexRight = 0; //右括号索引
this.arrBetweenLeftRight = []; //数组:存放左右括号中的字母
this.arrNoLeftRight = []; //数组:存放没有括号包围的字母
//取左右括号中的值
this.GetLeftAndRightValue = function(str) {
//找到字符串中左括号的index
this.indexLeft = str.indexOf('[');
this.indexRight = str.indexOf(']');
//取括号中的值(包含括号)
var value = str.substring(this.indexLeft, this.indexRight + 1);
//存放到数组中
this.arrBetweenLeftRight.push(value);
//剩下的str
var restStr = str.substr(this.indexRight + 1);
//如果还有左右括号则继续找
if (restStr.indexOf('[') != -1 && restStr.indexOf(']') != -1) {
this.GetLeftAndRightValue(restStr);
}
}
//取没有左右括号包围的值
this.GetNoLeftAndRightValue = function(str) {
//找到字符串中左括号的index
this.indexLeft = str.indexOf('[');
this.indexRight = str.indexOf(']');
//取没有左右括号包围的值(跟着右括号的第一个)
var value = str.substring(0, 1);
if (value != '[') { //因为第一个就有可能就是左括号
//存放到数组中
this.arrNoLeftRight.push(value);
}
//剩下的str
var restStr = str.substr(this.indexRight + 1);
//如果还有左右括号则继续找
if (restStr.indexOf('[') != -1 && restStr.indexOf(']') != -1) {
this.GetNoLeftAndRightValue(restStr);
}
//剩下的没有左右括号了,就全部添数组里去
else if (restStr.indexOf('[') == -1 && restStr.indexOf(']') == -1) {
this.arrNoLeftRight.push(restStr);
}
}
}

//题目二:有两个有序整数数组,例如【1, 3, 5, 7, 9】和【2, 4, 6, 7, 8, 10, 13】,设计一个函数使两个数组合并,并且剔除掉两个数组里重复的元素.
代码如下:
function QuestionFn2() {
var arr1 = [1, 3, 5, 7, 9];
var arr2 = [2, 4, 6, 7, 8, 10, 13];

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表