其他分享
首页 > 其他分享> > 学习分享:数组的妙用

学习分享:数组的妙用

作者:互联网

数组的妙用

本文介绍的内容适用于 js 与 qml,本文着重在 qml 中使用,毕竟 js 现在的 es6 语法十分强大。

根据公司业务需求,需要使用到数组的字符形式,即 array["character"] = xx 形式(本文统称字符数组),特意研究了一下,这里分享给大家!

一、字符数组介绍

一般的数组中括号中都是数字,但是因为一些特别的需求,我们需要在中括号中使用字符或者字符串,对于这样的字符数组,想要对其进行增删查改有些困难,因为数组的常规操作 pop()、push()、shift()、unshift()、slice()、splice() 等均失效,length 也等于 0,让人有种无从下手的感觉。

二、字符数组的增删查改思路

想要对字符数组进行增删查改,思路其实很简单,就一个映射就能解决所有问题,设定个两个数组,一个数组放数字(即 array["character"] = num),一个数组放字符或字符串(即 array["num"] = character),增删查改操作在后者完成即可,完成后使用循环创建一个新的字符数组,然后将新的数组赋给前者即可。
如果遇到 array["character"] = character 这种情况的话,那就需要多做两次映射就完事。

三、字符数组的增删查改实现

废话不多说,直接上代码:

var a = new Array;	//创建数组 a 用于字符数组
var b = new Array;	//创建数组 b 用于普通数组
b = ["aa", "bb", "cc", "ss"];	//将数组 a 中需要用到的字符串存入数组 b
//完成数组映射的函数
function atob(){
    var arr = new Array;
    for(i = 0; i < b.length; i ++){
        arr[b[i]] = i;
    }
    return arr;
}
//将数组 b 做映射,得数组 a
a = atob();
//增加
b.push("dd");
a = atob();
//删除
b.splice(a["bb"], 1);
a = atob();


标签:妙用,字符,character,atob,查改,数组,增删,分享
来源: https://blog.csdn.net/qq_36553707/article/details/113394588