学习分享:数组的妙用

数组的妙用

本文介绍的内容适用于 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();


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

混子还在路上

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值