JavaScript的數(shù)組

在 JavaScript 1.6 里,javascript 數(shù)組增加了幾個(gè)非常有用的方法:indexOf、lastIndexOf、every、 filter、 forEach、 map、 some,其中前兩個(gè)可以歸為元素定位方法,而后面的幾個(gè)則可以歸為迭代(iterative)方法。
map和foreach類似,都是遍歷輸出結(jié)果,只是方式不太一樣,map直接對整個(gè)列表數(shù)據(jù)進(jìn)行函數(shù)操作;而foreach是迭代對每行數(shù)據(jù)進(jìn)行逐一操作,foreach靈活性更好吧,map效率更好點(diǎn)兒。可以混著用
reduce是一個(gè)二元操作,就是對給定列表中的數(shù)據(jù)兩個(gè)兩個(gè)的進(jìn)行每次的操作,調(diào)用的函數(shù)類似這樣hex(x,y)

var desColors = [],
    srcColors = [
        {r: 255, g: 255, b: 255 }, // White
        {r: 128, g: 128, b: 128 }, // Gray
        {r: 0,   g: 0,   b: 0   }  // Black
    ];
for (var i = 0, ilen = srcColors.length; i < ilen; i++) {
    var color = srcColors[i],
        format = function(color) {
            return Math.round(color / 2);
        };
    desColors.push( {
        r: format(color.r),
        g: format(color.g),
        b: format(color.b)
    });
}
// Outputs:
// [
//    {r: 128, g: 128, b: 128 },
//    {r: 64,  g: 64,  b: 64  },
//    {r: 0,   g: 0,   b: 0   }
// ];
console.log(desColors);

有了map的JavaScript

var srcColors = [
        {r: 255, g: 255, b: 255 }, // White
        {r: 128, g: 128, b: 128 }, // Gray
        {r: 0,   g: 0,   b: 0   }  // Black
    ],
    desColors = srcColors.map(function(val) {
        var format = function(color) {
            return Math.round(color/2);
        };
        return {
            r: format(val.r),
            g: format(val.g),
            b: format(val.b)
        }
    });
// Outputs:
// [
//    {r: 128, g: 128, b: 128 },
//    {r: 64,  g: 64,  b: 64  },
//    {r: 0,   g: 0,   b: 0   }
// ];
console.log(desColors);

Math.round()可以接收對象作為參數(shù),對對象內(nèi)所有屬性同時(shí)進(jìn)行操作.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容