js 数组arrar改为数组object对象

JavaScript013

js 数组arrar改为数组object对象,第1张

•object 类型:

◦ 创建方式:

/*new 操作符后面Object构造函数*/ var person = new Object()person.name = "lpove"person.age = 21/*或者用对象字面量的方法*/ var person = { name: "lpove"age : 21}

•array类型

◦ 创建方式:

`var colors = new Array(“red”,”blue”,”yellow”)

• 区别和不解

◦ 比如有一个数组a=[1,2,3,4],还有一个对象a={0:1,1:2,2:3,3:4},然后你运行alert(a[1]),两种情况下的运行结果是相同的!这就是说,数据集合既可以用数组表示,也可以用对象表示,那么我到底该用哪一种呢?

我后来才知道,数组表示有序数据的集合,而对象表示无序数据的集合。如果数据的顺序很重要,就用数组,否则就用对象。

当然,数组和对象的另一个区别是,数组的数据没有”名称”(name),对象的数据有”名称”(name)。

但是问题是,很多编程语言中,都有一种叫做”关联数组”(associative array)的东西。这种数组中的数据是有名称的。

• 但是在《javascript DOM》中,不推荐我们使用 关联数组;

◦ 关联数组:

var lpove = Array()lpove[name] = "lei"lpove[age] = 21lpove[living] = true/*对象构造*/ var lpove = Object()lpove.name = "lei"lpove.age = 21lpove.living = true

因为在本质上你创建的关联数组的性质就是Array对象的属性

你数据都是现成的 直接创建一个就好了

你如果要把arrYearPay转为{yearPay:100},{yearPay:200}这样键名都一样的对象,还不如直接post数组到后台,反正没有key可辨识,直接通过数组索引判断就是了

给你粗略写个demo

var code = "A123"

var rate = 100

var arrYearPay = [100,200,300]

var data = {

    code: code,

    rate: rate,

    yearPay: arrYearPay

}

var url = './demo.php' //你post地址

$.post(url, data, function (e) {

    alert(e)

})

后台php代码

<?php

$code= $_POST["code"]

$rate= $_POST["rate"]

$yearPay = $_POST["yearPay"] //这个就是数组对象了

$sum = 0 

foreach($yearPay  as $year){

    $sum  += $year * $rate   //这个我随便写的啊 改成你自己的公式了

}

echo $sum

?>