javascript中怎样取到数组中的最后一个数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript中怎样取到数组中的最后一个数相关的知识,希望对你有一定的参考价值。

数组.Length:数组内组的个数
数组下标是从0开始,数组[0]是第一个数
所以最后一个数就是:数组[数组.Length-1]
参考技术A 上面的方法性能都比较差,每次都要计算item的长度
可以使用item.slice(-1)[0]
性能至少差10倍
参考技术B var a=["a","b"];
a[a.length-1]
参考技术C arr[arr.length-1] 参考技术D array.reverse()[0]

reverse();       这个函数是用来将数组反转倒序。

如:

var array = [0,1,3];
array.reverse();    //结果为:3,1,0

在c语言中,怎样在一个数组中插入一数

#include "stdio.h"
#include "stdlib.h"
void main()

int *p,k,h,*q,i,j,e;
printf("请输入数组中的元素的个数最大值:");
scanf("%d",&k);
p=new int[k];
if(p==NULL)

printf("不能分配空间!");
exit(0);

printf("请输入数组中的元素的个数:"); //可以输入比数组长度小的个数
scanf("%d",&h);
printf("请输入数组中的元素(分别输入):\n");
for(i=0;i<h;i++)
scanf("%d",&p[i]);
if(h==k)

q=new int[k+1];
if(p==NULL)

printf("不能分配空间!");
exit(0);

for(i=0;i<k;i++)
q[i]=p[i];
printf("请输入插入在第几个数的后面和要插入的数:");
scanf("%d%d",&j,&e);
for(i=k;i>=j;i--)
q[i+1]=q[i];
delete p;
q[j]=e;
for(i=0;i<k+1;i++)
printf("%d\t",q[i]);
delete q;

if(h<k)

printf("请输入插入在第几个数的后面和要插入的数:");
scanf("%d%d",&j,&e);
for(i=h-1;i>=j;i--)
p[i+1]=p[i];
p[j]=e;
for(i=0;i<h+1;i++)
printf("%d\t",p[i]);
delete p;



我使用动态数组来考虑两种情况
1.数组满的,需要从新申请数组,然后后移;
2.直接后移;
参考技术A 先判断空间是否够用,不够的话一般不能插入,空间充分的话查找要插入的位置,然后移动其他元素为待插入元素提供空间最后插入到合适位置。
for(i=0;i<9;i++)

temp=student[10];
if(temp<student[i])

for(j=10;j>i;j--)

student[j]=student[j-1];

student[i]=temp;



以上代码是对数组student进行插入第11个元素的操作。以保证插入后仍然升序排列。
参考技术B 自己写的,初学者,谢谢大家支持
int* plug_in(int buff[],int data , int sing );
void main()
int i;
int a[8]=1,2,3,6,6,5,5;
int *u;
u=plug_in(a,98 , 5);
for(i=0;i<=7;i++)
printf("%d\n",*(u+i));


//data 插入的数据
//sign 下标位置
int* plug_in(int buff[],int data , int sing )

int i,j;
int a[128];
int len=sizeof(buff)/sizeof(int);
for(j=0;j<7;j++)
a[j]=buff[j];
j=0;
for(i=0;i<=7;i++,j++)

if(i==sing)

buff[i++]=data;


buff[i]=a[j];

return buff;
参考技术C 首先看数组大小是否能容下添加的数,不能的话,就增大空间。数组插入一般进行移动(从后面开始),然后再目标处插入数字。 参考技术D #include <stdio.h>

void insert ( int *a , int n , int len ,int data )

int i=0;
for( i=len;i>=n;i-- )
a[i]=a[i-1];
a[i]=data ;


void showa( int *a , int len )

int i=0;
for(i=0;i<len;i++)
printf("%d " , a[i] );
printf("\n");

int main()

int arr[20]=1,2,3,4,5,6;
showa( arr , 6 );
insert ( arr , 3 , 6 , 100 );
showa(arr , 7 );
return 0;
追问

你能说一下你的思路吗

追答

void insert ( int *a , int n , int len ,int data ) //a是数组,n是待插入的位置(1到len),len是数组长度,data是待插入的数据

int i=0;
for( i=len;i>=n;i-- ) //先将n到len的数据后移
a[i]=a[i-1];
a[i]=data ; //将数据插入到当前位置。

本回答被提问者和网友采纳

以上是关于javascript中怎样取到数组中的最后一个数的主要内容,如果未能解决你的问题,请参考以下文章

给定的数组任意取出三个数(要求全部取到且不能重复)求和,找出和中最小值 Java 说说思路或者算法就

c语言怎样在一组数组里输入一个数并排好序

在c语言中,怎样在一个数组中插入一数

C语言中如何将double型数据转换为数组?

18. 4Sum

插入排序