js获取对象,数组所有属性键值(key)和对应值(value)的方法

js获取对象,数组所有属性键值(key)和对应值(value)的方法

方法一[实用]====
let tempArr= [1,2,3,4,5,1,2];
if (tempArr.length > 1) {
    let rep = [];
    tempArr.forEach((item, index) => {
        if (tempArr.indexOf(item) !== index) { // 匹配数组元素第一个item位置和当前循环的index
            let obj = {};
            obj.key = (tempArr.indexOf(item) + 1) + '|' + (index + 1); // 用'|'分隔两个重复项的下标
            obj.value = item;
            rep.push(obj);
        }
    });
    console.log(rep);
}
方法二=====
var person = [
             { fname: "John", lname: "DD", age: 25},
              { fname: "Mike", lname: "MM", age: 23}
          ];
 
for (var i = 0; i < person.length; i++) {
    for (x in person[i]) {
        console.log(x + "=" + person[i][x]);
    }
}
方法三=====
< script >
var values = function (object) {
    var values = [];
    for (var property in object)
        values.push(object[property]);
    return values;
}
 
//写成标准的方法(数组是object的一种):
    function getObjectKeys(object) {
        var keys = [];
        for (var property in object)
            keys.push(property);
        return keys;
    }
 
    function getObjectValues(object) {
        var values = [];
        for (var property in object)
            values.push(object[property]);
        return values;
    }
    //测试
var slideArray = [
    { "imgsrc1": "a.jpg"},
    { "imgsrc2": "b.jpg"},
    { "imgsrc3": "c.jpg"},
    { "imgsrc4": "d.jpg"},
    { "imgsrc5": "e.jpg"}
];
console.log(getObjectKeys(slideArray))
console.log(getObjectValues(slideArray)) < /script>

end.

猜你喜欢

转载自www.cnblogs.com/wn798/p/12098285.html