English 中文(简体)
标注“ shift” 和“ splice” - 这些语句是否相等?
原标题:Javascript "shift" versus "splice" - are these statements equal?

我只想确认,以下两篇Javascript声明是否产生在我看来同样的结果:

第一:

var element = my_array.splice(0,1)[0];

第二:

var element = my_array.shift();

我想在我自己的代码中,用第二个来取代第一个, 来提高可读性。我可以这样做吗?

最佳回答

它们将具有相同的效果,是的。 spice(0, 1) 将删除 my_array 中的第一个元素, 并返回包含该元素的新数组。 translate 将同样这样做, 但返回元素本身, 不是数组 。

traffirm 比较易读(我认为),同时也是 明显更快 (至少以铬表示):

""https://i.sstatic.net/DbJJJm.png" alt="此处的内置图像描述"/ >

问题回答

两行代码从数组中删除第一个元素, 并返回已删除元素, 在所有主要浏览器中都支持这两个元素 。

你应该使用第二个代码, 代码会更易读。

topt 返回被删除的元素,splices 返回被删除的一系列元素。

尽管如此,这两篇声明也做了同样的事情,我同意,第二篇声明更易读。

<强度 >spice 将作为数组返回,但不从对象中删除数据,而是复制


<强度 > 移动 只需从前方提供一个数据,然后从对象中删除


例如,

const object = {1}
object.slice(); // return [{1}]
//object will be : {1}
object.shift(); // return {1}
//object will be : {} as shift remove the front data 




相关问题
selected text in iframe

How to get a selected text inside a iframe. I my page i m having a iframe which is editable true. So how can i get the selected text in that iframe.

How to fire event handlers on the link using javascript

I would like to click a link in my page using javascript. I would like to Fire event handlers on the link without navigating. How can this be done? This has to work both in firefox and Internet ...

How to Add script codes before the </body> tag ASP.NET

Heres the problem, In Masterpage, the google analytics code were pasted before the end of body tag. In ASPX page, I need to generate a script (google addItem tracker) using codebehind ClientScript ...

Clipboard access using Javascript - sans Flash?

Is there a reliable way to access the client machine s clipboard using Javascript? I continue to run into permissions issues when attempting to do this. How does Google Docs do this? Do they use ...

javascript debugging question

I have a large javascript which I didn t write but I need to use it and I m slowely going trough it trying to figure out what does it do and how, I m using alert to print out what it does but now I ...

Parsing date like twitter

I ve made a little forum and I want parse the date on newest posts like twitter, you know "posted 40 minutes ago ","posted 1 hour ago"... What s the best way ? Thanx.

热门标签