数组 | 对象
判断对象是否为空
第二种判断内置对象必须都要有值。既通过判断数组长度进行比较。
let val = {
type: 1,
Number: 123,
str: '描述',
status: false
}
let num = ''
// 检索 val 的值有没有等于空的,
let arr = Object.values(val).filter((item, index) => {
num = index + 1 // 计算出有值的数组长度
// 将不等空的数组抛出去。
if (item !== '') return true
})
// 如果 有些值需要传空,可用 num 进行判断 数组的长度
val.type === 1 ? num-- : num
if (arr.length === num) {
console.log('ajax')
}
// 第二种
const status = Object.values(val).filter((item) => item)
console.log(Object.values(val))
console.log(status)
if (status.length !== Object.values(val).length) {
return this.$message({
message: '不能为空!',
type: 'error'
})
}
数组从小大排序
let data = [10, 5, 3, 6, 8, 12]
// sort 排序数组, slice 截取数组前三名
this.rank = data.sort((a, b) => b - a).slice(0, 3)
检索数组下标 / 值
// 检索数组下标对应的值。
function f(arr, item) {
return arr.filter((e, index) => {
if (item === index) return e
})
}
console.log(f([12, 3, 4, 5], 2)) // 3
// 检索数组下某个值对应的下标。
function fd(arr, item) {
return arr.indexOf(item);
}
console.log(fd([12, 3, 4, 5, 2, 25], 12)) // 0
数组去重
/**
* 第一种去重
* @type {number[]}
*/
let arr = [1, 2, 3, 4, 5, 2, 4, 8, 9, 6, 7, 5, 6]
function DelRepeat(arr){
// ES6提供了新的数据结构Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。
let app = new Set(arr)
console.log(app)
}
DelRepeat(arr) // 打印 [1,2,3,4,5,8,9,6,7]
/**
* 第二种 高阶
* @param arr
* @returns {*}
* @constructor
*/
function DelRepeatTwo(arr){
let app = new Set(arr)
return arr.filter(item =>{
// 创建一个可以唯一标识对象的字符串id
let id = item + JSON.stringify(item)
// has 判断某元素是否存在
if (app.has(id)) { return false }else {
// 添加某个值,返回 Set 结构本身,当添加实例中已经存在的元素,set不会进行处理添加
app.add(id)
return true
}
})
}
DelRepeatTwo(arr)
对象基础
//json对象
var json={ "firstName":"Bill" , "lastName":"Gates"};
//给json对象添加新的属性并赋值
json.sex="man";
//也可以如下添加新的属性并赋值
json["sex"]="man";
//删除json对象的firstName属性
delete json.firstName;
//也可以如下删除firstName属性的值
delete json["firstName"];
//修改json对象的firstName属性的值
json.firstName="Thomas";
//也可以如下修改firstName属性的值
json["firstName"]="Thomas";
// 循环中依次添加对象
let isObj = {};
for (const obj in list) {
isObj[[list[obj].value]] = list[obj].prop
}
// 也可以用eval依次添加方法,此方法慎用
let isObj = {}
for(let i = 0; i<list.length; i++) {
eval("isObj."+list[i].value+"="+list[i].prop);
}
暂无标签
叼茂SEO.bfbikes.com
看的我热血沸腾啊
看的我热血沸腾啊https://www.237fa.com/
不错不错,我喜欢看 https://www.ea55.com/
不错不错,我喜欢看 https://www.ea55.com/
看的我热血沸腾啊www.jiwenlaw.com