JavaScript 代码片段
找出两个数组中相同的元素
实现思路
- 封装getSameName函数,传递两个参数selectedId,allSuppliers
- selectedId和allSuppliers均为数组
代码
jsx
getSameName(selectedId, allSuppliers) {
let arr2Map = {};
let result = [];
selectedId.forEach((item) => (arr2Map[item] = item)); allSuppliers.forEach((item) => {
arr2Map[item.id] && result.push(item.name); }); console.log(result)
return result;
},
在一个字符串的指定位置插入字符
js
/**
* @param {*} source 原字符串
* @param {*} start 要截取的位置
* @param {*} newStr 要插入的字符
*/
function insertStr(source, start, newStr) {
return source.slice(0, start) + newStr + source.slice(start)
}
// 使用
insertStr('20220808', 4, '-') // 2020-0808
判断数组中某个属性值是否为空
js
function isEmpty(array) {
if (array.length > 0) {
return array.some(function(value, index) {
return value === '';
});
} else {
return true;
}
}
判断数组中某一属性的值是否相同
some():用于检测数组中的元素是否满足指定条件
some方法会依次执行数组的每个元素; 如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测 如果没有满足条件的元素,则返回false
every():用于检测数组所有元素是否都符合指定条件
every和some正好相反: 如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。 如果所有元素都满足条件,则返回 true。
js
function isAllEqual(array) {
if (array.length > 0) {
return !array.some(function(value, index) {
return value !== array[0];
});
} else {
return true;
}
}
javascript中filter+map链式操作 处理数据
js
//这里是代码片段
var arr = [1, 2, 3, 4];
let Larry = [];
let my= arr.filter((item) => {
return item > 2;
}).map((value) => {
Larry.push(value * 2)
})
console.log(arr); //Array(4) [1, 2, 3, 4]
console.log(my); //Array(2) [undefined, undefined]
console.log(Larry); //Array(2) [6, 8]
JS数组合并(5种)
- 简单而实用的for 会变更原数组,当然也可以写成生成新数组的形式。
- arr.concat(arr2) 会生成新的数组
- push结合apply arr.push.apply(arr, arr2) 会变更原数组。
- ES6 的语法,简单而实用。 […arr, …arr2] 会生成新的数组。
- push 结合 ...[] 来实现。 push(…arr) 会变更原数组。