JS中如何获取数组中的一部分元素

JavaScript059

JS中如何获取数组中的一部分元素,第1张

需要准备的材料分别是:电脑、html编辑器、浏览器。

1、首先,打开html编辑器,新建html文件,例如:index.html。

2、在index.html的<script>标签中,输入js代码:var a = [123, 567, 86, 90, 234]var b = a.slice(1, 3)document.body.innerText = b。

3、浏览器运行index.html页面,此时只会打印出数组第2-3个元素。

这篇文章主要介绍了js实现从数组里随机获取元素的方法,以及个人封装的js代码分享,十分的实用,这里推荐给小伙伴们

基础知识:

复制数组:

(1)循环遍历复制(不推荐)

代码如下:

var

arry

=

[1,5,9,7],

new_arry

=

[],

n

=

0,

len

=

arry.length

for(n<lenn++){

new_arry.push(arry[n])

}

(2)concat()

方法用于连接两个或多个数组,该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本

代码如下:

var

arry

=

[1,5,9,7],

new_arry

=

arry.concat()

console.log(new_arry)

(3)slice()

方法可从已有的数组中返回选定的元素

代码如下:

var

arry

=

[1,5,9,7],

new_arry

=

arry.slice(0)

console.log(new_arry)

随机数:

Math.random()

Math.random(),返回0到1的随机数,如:0.4261967441998422

个人封装函数:

代码如下:

function

getRandom(opt)

{

var

old_arry

=

opt.arry,

range

=

opt.range

//防止超过数组的长度

range

=

range

>

old_arry.length?old_arry.length:range

var

newArray

=

[].concat(old_arry),

//拷贝原数组进行操作就不会破坏原数组

valArray

=

[]

for

(var

n

=

0

n

<

range

n++)

{

var

r

=

Math.floor(Math.random()

*

(newArray.length))

valArray.push(newArray[r])

//在原数组删掉,然后在下轮循环中就可以避免重复获取

newArray.splice(r,

1)

}

return

valArray

}

var

new_val

=

getRandom({'arry':[1,6,8,0,3],'range':3})

console.log(new_val)

是不是很好用呢,非常实用的代码,这里是从本人项目中分离出来分享给大家,希望对大家有所帮助。

假定数组名为a,则a[0]就是第一个元素。

var ary=[1,2,3,4]

var a=ary.shift()//a=1ary=[2,3,4]

arrayObj.slice(start, [end])

slice 方法返回一个 Array 对象,其中包含了arrayObj 的指定部分。

参数:start,截取数组开始下标。end截止的下标,但不包括end元素

扩展资料:

JavaScript被归类为直译语言,因为主流的引擎都是每次运行时加载代码并解译。V8是将所有代码解译后再开始运行,其他引擎则是逐行解译(SpiderMonkey会将解译过的指令暂存,以提高性能,称为实时编译),但由于V8的核心部分多数用JavaScript撰写(而SpiderMonkey是用C++),因此在不同的测试上,两者性能互有优劣。

与其相对应的是编译语言,例如C语言,以编译语言编写的程序在运行之前,必须经过编译,将代码编译为机器码,再加以运行。

参考资料来源:百度百科-javascript