如何解决如何在打字稿中使用 each(..) 函数?
_.each(key_val,function(e){
if($.inArray(e[0],names) == -1){
var node = {};
node.name = e[0];
if(e[1]) {
node.value = e[1];
node.symbolSize = e[1] * nodeProp;
}
optionNodes.push(node);
names.push(e[0]);
}
});
来自使用过的 angular.js 的代码我必须合并到 angular 打字稿中。 这里是“key_val”是数组
解决方法
forEach() 方法为数组中的每个元素调用一个函数。
语法如下,
array.forEach(callback[,thisObject]);
哪里,
回调 - 测试每个元素的函数。
thisObject - 在执行回调时用作 this 的对象。
示例:
let num = [7,8,9];
num.forEach(function (value) {
console.log(value);
});
在编译时,会生成以下 JavaScript 代码
var num = [7,9];
num.forEach(function (value) {
console.log(value);
});
其输出如下
7
8
9
,
为了实现您的函数正在执行的操作,您可以创建一个具有名称和值键的对象数组,如下所示 -
let key_val = [{name: 'c',value: 'xyz'},{name: 'd',value: ''}];
假设您还有一个名称数组,例如 -
let names = ['a','b'];
要遍历 key_val 数组中的每个对象,可以像这样使用 map -
key_val.map(item => {
if(names.indexOf(item.name) === -1) { //checking if item.name is present in names array or not
var node = {};
node.name = item.name;
if(item.value) {
node.value = item.name;
node.symbolSize = item.name * nodeProp;
}
optionNodes.push(node);
names.push(item.name);
}
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。