数组处理
展开运算符#
展开数组,连接数组#
<script type='text/javascript'>
let arr1=[1,3,5,7,9]
let arr2=[2,4,6,8,10]
console.log(...arr1)//展开第一个数组
let arr3=[...arr1,...arr2]//深拷贝数据
</script>
不固定参数传递#
<script type='text/javascript'>
function sum(...numbers){
console.log("查看参数",numbers)
return numbers.reduce((pre,cur)=>{
return pre+cur
})
}
sum(1,2,3,4)
</script>
字面量展开对象#
let test={name:"kobe",age:12}
let test2={...test}
数组快捷操作#
归约reduce
#
numbers.reduce((pre,cur)=>{
return pre+cur
})
<script type='text/label'>
function sum(...numbers){
console.log("查看参数",numbers)
return numbers.reduce((pre,cur)=>{
return pre+cur
})
}
sum(1,2,3,4)
</script>
映射`map#
在React
中,因为jsx只能写有返回值的表达式,所以不能用条件分支语句和循环语句,所以用map的方式,返回加工之后带上html标签的vdom
<script type='text/label'>
function App() {
const [list, setList] = useState([1,2,3,4,5,6,7])
return (
<ul>
{list.map((item) => (
<li>
{item}
</li>
))}
</ul>
</div>
)
}
</script>
查找find
#
通过对象列表的中的一个对象值,查出另一个对象的值
lef foo=[
{name:'kobe',
key:1
},
{name:'james',
key:2
}
]
function findNameBykey(key){
return foo.find(item=>{ item.key=key}).name
}
筛选fliter
#
toString();
join();
concat();
splice();
slice();
indexOf();
lastIndexOf();
forEach();
map();
filter();
reduce();
some();
every();
flat();
find();
findeIndex();
sort();