这里运用数组的for循环和对象的for…in循环 (可以运用其他数组循环方法)
1.循环遍历拿到数组或对象的索引
2.在循环内创建一个对象,在循环外设置一个数组
3.直接push
最终的数组对象结果
[
0: {text: "张三", value: 0}
1: {text: "李四", value: 1}
2: {text: "网二", value: 2}
]
[
0: {text: "张三", value: "name"}
1: {text: 19, value: "age"}
2: {text: "面条", value: "eat"}
]
//这一段是先数组转对象在根据寻求转换数组对象
var nameArray=['张三','李四','网二'];
var arr =[];
for (let i = 0; i < nameArray.length; i++) {
var o={}
o.text=nameArray[i]
o.value=i
arr.push(o)
}
//这一段是对象在根据寻求转换数组对象
var obj = {
name:'张三',
age:19,
eat:'面条'
}
for(var i in obj) {
console.log(i,obj[i]);
var o={}
o.text=obj[i]
o.value=i
arr.push(o)
}
console.log(arr);
加一个去重方法 next.text是以什么为过滤条件
var hash = {};
var array = arr.reduce(function(item, next) {
hash[next.text] ? '' : hash[next.text] = true && item.push(next);
return item
}, [])