在js中数组的使用可谓是非常的多,下面就开始介绍数组的一些用法
1.交换数值
输入:
var a = 6,
b = 8;
console.log("a: " + a + ", b: " + b);
a = [b, b = a][0];
console.log("a: " + a + ", b: " + b);
输出:
a: 6, b: 8;
a: 8, b: 6;
原因:
因为在代码运行时,等号右边的会先执行,所以在运行数组第一项时变量b的值会先被数组保存,运行第二项时变量a的值被赋值给变量b,最后再将数组的第一项值赋值给变量a.
2.反转字符串
输入:
var a = "javascript";
function fn(str) {
return str.split("").reverse().join("");
}
console.log(fn(a));
输出:
tpircsavaj;
知识回顾:
split() ---> 将字符串切割为数组.
reverse() ---> 反转数组.
join() ---> 将数组拼接为字符串.
3.随机抽取
输入:
function a(){
alert(1);
}
function b(){
alert(2);
}
function c(){
alert(3);
}
function d(){
alert(4);
}
var a = [a, b, c, d];
function fn(arr){
if(arr.length){
arr.splice(Math.floor(Math.random() * arr.length),1)[0]();
}
}
fn(a);
fn(a);
fn(a);
fn(a);
fn(a);
输出:
4;
2;
3;
1;
知识回顾:
splice() ---> 在指定位置删除或添加元素.
4.队列模式(变量a为上例中的变量a)
输入:
function fn(arr) {
if (arr.length) {
arr.shift()();
}
}
fn(a);
fn(a);
fn(a);
fn(a);
fn(a);
fn(a);
输出:
1;
2;
3;
4;
知识回顾:
shift ---> 移除数组第一项
5.循环队列模式
输入:
function fn(arr) {
if (arr.length) {
arr.push(arr.shift())();
}
}
fn(a);
fn(a);
fn(a);
fn(a);
fn(a);
fn(a);
输出:
1;
2;
3;
4;
1;
2;
知识回顾:
push()往数组最后一项移入元素
本次先到这哦

如果感觉不错,还望各位积极点赞,谢谢

1.交换数值
输入:
var a = 6,
b = 8;
console.log("a: " + a + ", b: " + b);
a = [b, b = a][0];
console.log("a: " + a + ", b: " + b);
输出:
a: 6, b: 8;
a: 8, b: 6;
原因:
因为在代码运行时,等号右边的会先执行,所以在运行数组第一项时变量b的值会先被数组保存,运行第二项时变量a的值被赋值给变量b,最后再将数组的第一项值赋值给变量a.
2.反转字符串
输入:
var a = "javascript";
function fn(str) {
return str.split("").reverse().join("");
}
console.log(fn(a));
输出:
tpircsavaj;
知识回顾:
split() ---> 将字符串切割为数组.
reverse() ---> 反转数组.
join() ---> 将数组拼接为字符串.
3.随机抽取
输入:
function a(){
alert(1);
}
function b(){
alert(2);
}
function c(){
alert(3);
}
function d(){
alert(4);
}
var a = [a, b, c, d];
function fn(arr){
if(arr.length){
arr.splice(Math.floor(Math.random() * arr.length),1)[0]();
}
}
fn(a);
fn(a);
fn(a);
fn(a);
fn(a);
输出:
4;
2;
3;
1;
知识回顾:
splice() ---> 在指定位置删除或添加元素.
4.队列模式(变量a为上例中的变量a)
输入:
function fn(arr) {
if (arr.length) {
arr.shift()();
}
}
fn(a);
fn(a);
fn(a);
fn(a);
fn(a);
fn(a);
输出:
1;
2;
3;
4;
知识回顾:
shift ---> 移除数组第一项
5.循环队列模式
输入:
function fn(arr) {
if (arr.length) {
arr.push(arr.shift())();
}
}
fn(a);
fn(a);
fn(a);
fn(a);
fn(a);
fn(a);
输出:
1;
2;
3;
4;
1;
2;
知识回顾:
push()往数组最后一项移入元素
本次先到这哦
如果感觉不错,还望各位积极点赞,谢谢
南亭旧梦


