使用js对象值

Use js object value

本文关键字:对象 js 使用      更新时间:2023-09-26

嗨,我有这个js对象,我想"保存"元素"价格"在一个数组中,所以我可以操纵它们。我该怎么做呢?

$(function(){
    $("#elastic_grid_demo").elastic_grid({
        'filterEffect': 'scaleup', // moveup, scaleup, fallperspective, fly, flip, helix , popup
        'hoverDirection': true,
        'hoverDelay': 0,
        'hoverInverse': false,
        'expandingSpeed': 500,
        'expandingHeight': 500,
        'items' :
        [
            {
                'price'         : '10.95',
                'title'         : 'Azuki bean',
                'description'   : 'Swiss chard pumpkin bunya nuts maize plantain aubergine napa cabbage soko coriander sweet pepper water spinach winter purslane shallot tigernut lentil beetroot.Swiss chard pumpkin bunya nuts maize plantain aubergine napa cabbage.',
                'thumbnail'     : ['images/small/1.jpg', 'images/small/2.jpg', 'images/small/3.jpg', 'images/small/10.jpg', 'images/small/11.jpg'],
                'large'         : ['images/large/1.jpg', 'images/large/2.jpg', 'images/large/3.jpg', 'images/large/10.jpg', 'images/large/11.jpg'],
                'button_list'   :
                [
                    { 'title':'Demo', 'url' : 'http://porfolio.bonchen.net/' },
                    { 'title':'Download', 'url':'http://porfolio.bonchen.net/'}
                ],
                'tags'          : ['Portrait']
            }, /* ...more items*/

使用Array.map(参见MDN)从对象数组创建数组:

var prices = [yourArrayOfObjects].map(function(v) {return v.price;});

您必须首先将传递给elastic_grid的对象分配给变量:

var opts = {
  'filterEffect': 'scaleup',
   ... 
   ...
   items: [...],
   ...
};

然后,您可以只获取项目,并迭代构建一个新的价格数组:

var items = opts.items;
var prices = [];
for(var i = 0; i < items.length; i++) {
  prices.push(items[i].price);
}
// prices populated here

price.push (10.95)

创建var价格数组。然后,您可以使用数组方法"操作"新数组中的元素。