Public
Edited
Jan 29
Insert cell
Insert cell
mermaid`graph LR
查询--> 单个元素
查询--> 多个元素

单个元素 --> 索引访问
索引访问-->直接访问
索引访问-->at
单个元素-->满足条件
满足条件-->a(find)
满足条件-->b(findIndex)
满足条件-->c(findLast)
满足条件-->d(findLastIndex)


单个元素-->出现
出现-->indxOf
出现-->lastIndxOf
出现-->includes
多个元素-->一个
一个-->e(有一个满足 some)
一个-->f(都满足 every, 没有一个不满足)

多个元素-->多个
多个-->g(选出满足的部分 filter)
`
Insert cell
Insert cell
arr = Array(1, 2, 3, 4, 5)
Insert cell
Insert cell
{
return [arr[1], arr[8]]
}
Insert cell
Insert cell
{
return arr.at(-1)
}
Insert cell
Insert cell
{
const fn = (ele) => ele > 3;
return [
arr.find(fn),
arr.findIndex(fn),
arr.findLast(fn),
arr.findLastIndex(fn)
];
}
Insert cell
Insert cell
{
return [arr.indexOf(2), arr.lastIndexOf(2)]
}
Insert cell
Insert cell
{
return arr.every((ele) => ele < 10)
}
// 所有元素是否满足一个条件
Insert cell
Insert cell
{
var flag = 0;

const result = arr.every((ele) => {
if (ele < 2) {
flag++;
return true;
} else {
return false;
}
});
return [
result , flag
]
}
Insert cell
- every 与 some 是一对,一个是有一个满足,另一个是所有都满足
Insert cell
{
return arr.some((ele) => ele > 4);
}
Insert cell
Insert cell
{
return arr.filter((ele) => ele < 3);
}
Insert cell
Insert cell
{
function at(index) {
if (index >= 0) {
return this[index];
} else {
const realIndex = this.length + index;
return this[this.length + index];
}
}

const arr = Array(1, 2, 3, 4, 5);

arr.at = at;

return [arr.at(-1), arr.at(1), arr.at(-10)];
}
Insert cell
Insert cell
{
function find(callbackFn, thisArg) {
if (thisArg === undefined) thisArg = this;

for (let i = 0; i < thisArg.length; i++) {
if (callbackFn(thisArg[i])){
return thisArg[i]
}
}

return undefined
}

const arr = Array(1, 2, 3, 4, 5);

arr.find = find;

return [
arr.find((ele)=> ele > 2)
]
}
// 简单实现,并非完整版本
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more