javascript 数组操作问题,关于array 的push

javascript 数组操作问题,关于array 的push

本文目录

  • javascript 数组操作问题,关于array 的push
  • Javascript中Array.length是如何实现的
  • Javascript中判断变量是数组还是对象(array还是object)
  • javascript使用array问题
  • JavaScript 数组问题
  • javascript中Array的类型为什么是object
  • javascript中array对象的index属性是什么意思

javascript 数组操作问题,关于array 的push


push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。

语法:

arrayObject.push(newelement1,newelement2,....,newelementX)

参数:

newelement1    必需。要添加到数组的第一个元素。    

newelement2    可选。要添加到数组的第二个元素。    

newelementX    可选。可添加多个元素。    

实例
在本例中,我们将创建一个数组,并通过添加一个元素来改变其长度:
《script type=“text/javascript“》
var arr = new Array(3)
arr = “George“
arr = “John“
arr = “Thomas“
document.write(arr + “《br /》“)
document.write(arr.push(“James“) + “《br /》“)
document.write(arr)
《/script》
输出:
George,John,Thomas
4
George,John,Thomas,James

Javascript中Array.length是如何实现的


这是内部实现,简单的js写法没发实现运算函数,除非你用js写一个编译器。但并不是push跟pop,js的数组是散列,length的获取是根据数字属性的最大值+1.比如var a = ;a = “10“;//跟object对象一样,a = {10:’10’};10 in a;//true9 in a;//falsea.length;//11//默认数组中数字属性最大(10)的。可写a.length = 20;

Javascript中判断变量是数组还是对象(array还是object)


怎样判断一个JavaScript变量是array还是obiect?
答案:
1、如果你只是用typeof来检查该变量,不论是array还是object,都将返回‘objec’。
此问题的一个可行的答案是是检查该变量是不是object,并且检查该变量是否有数字长度(当为空array时长度也可能为0)。
然而,参数对象【arguments
object】(传给制定函数的所有参数),也可能会适用于上述方法,技术上来说,参数对象并不是一个array。
此外,当一个对象有a.length属性的时候,这个方法也不成立。
复制代码
代码如下:
//
Real
array
正在的数组
var
my_array
=
;
//
Imposter!
冒名顶替的!
var
my_object
=
{};
my_object.length
=
0;
//
Potentially
faulty
潜在的错误
function
is_this_an_array(param)
{
if
(typeof
param
===
’object’
&&
!isNaN(param.length))
{
console.log(’Congrats,
you
have
an
array!’);
}
else
{
console.log(’Bummer,
not
an
array’);
}
}
//
Works
成功
is_this_an_array(my_array);
//
Works,
but
is
incorrect
成功了,但是不正确
is_this_an_array(my_object);
2、回答这个问题的另一个答案是用一个更加隐蔽的方法,调用toString(
)方法试着将该变量转化为代表其类型的string。
该方法对于真正的array可行;参数对象转化为string时返回[object
Arguments]会转化失败;此外,
对于含有数字长度属性的object类也会转化失败。
复制代码
代码如下:
//
Real
array
真正的数组
var
my_array
=
;
//
Imposter!
冒名顶替的!
var
my_object
=
{};
my_object.length
=
0;
//
Rock
solid
坚如磐石(检验函数)
function
is_this_an_array(param)
{
if
(Object.prototype.toString.call(param)
===
’[object
Array]’)
{
console.log(’Congrats,
you
have
an
array!’);
}
else
{
console.log(’Bummer,
not
an
array’);
}
}
//
Works
成功了
is_this_an_array(my_array);
//
Not
an
array,
yay!
不是数组(array)!
is_this_an_array(my_object);
3、此外,在可能不可靠的多框架DOM环境中,instanceof是个完美合适的操作。
扩展阅读:“Instanceof
Considered
Harmful…“
http://perfectionkills.com/instanceof-considered-harmful-or-how-to-write-a-robust-isarray
复制代码
代码如下:
var
my_array
=
;
if
(my_array
instanceof
Array)
{
console.log(’Congrats,
you
have
an
array!’);
}
4、对于Javascript
1.8.5(ECMAScript
5),变量名字.isArray(
)可以实现这个目的
https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/isArray
复制代码
代码如下:
var
my_array
=
;
if
(Array.isArray(my_array))
{
console.log(’Congrats,
you
have
an
array!’);
}

javascript使用array问题


var days=new Array(“星期天“,“星期一“,“星期二“,“星期三“,“星期四“,“星期五“,“星期六“)var today=new Date();alert(“今天是:“+ days[today.getDay()]);//显示今天是星期几

JavaScript 数组问题


javascript是区分大小写的,其中的数组对象是Array,不是array。
var array1=new Array(“1“,“2“,“3“,“4“,“5“,“6“,“7“,“8“,“9“);

javascript中Array的类型为什么是object


typeof可以检测基本类型包括undefined、string、number、boolean,但是对于检测对象就不靠谱了。不只是Array,javascript中的对象,包括Date、String、Boolean、Number、Object、Function、Array、RegExp、Error使用typof只会返回“object“。
使用instanceof或者constructor来检测Array也不是靠谱的办法。如果是待检测的数组来自一个iframe的数组时,instanceof和contructor都会失效。由于每个iframe都有一套自己的执行环境,跨frame实例化的对象彼此是不共享原型链的。

javascript中array对象的index属性是什么意思


Array对象里面貌似有三个属性的吧,constructor 属性 | length 属性 | prototype 属性的,没有index属性,index属性一般是在字符里面多,表示该字符所在字符串的位置。。。

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部